デフォルト値
CoddyのSwiftジャーニー「基礎」セクションの一部。レッスン 57/86。
パラメーターには、ほとんどの場合に使用される値があることがあります。呼び出し側に毎回その値を指定してもらう代わりに、そのパラメーターにデフォルト値を割り当てることができます。
デフォルト値を設定するには、パラメータの型の後に代入演算子(=)を使用します。
func greet(name: String, greeting: String = "Hello") {
print("\(greeting), \(name)!")
}
greet(name: "Alice") // 出力: Hello, Alice!
greet(name: "Bob", greeting: "Hi") // 出力: Hi, Bob!関数を呼び出すときは、デフォルト値が設定されているパラメータを省略できます。Swift が自動的にデフォルト値を使用します。ただし、別の値が必要な場合は、明示的に指定することもできます。
デフォルト値を持つパラメータは、パラメータリストの末尾に配置する必要があります。これにより、関数呼び出しがすっきりして読みやすくなります。
func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
return base + (base * taxRate)
}
print(calculatePrice(base: 100)) // 出力: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // 出力: 120.0デフォルト値を使うと、関数の柔軟性が高まります。一般的なケースでは簡単に動作し、必要なときにはカスタマイズも可能です。
チャレンジ
簡単name、greeting、repeatCountを受け取り、整形されたあいさつメッセージを返す関数formatGreetingを作成してください。
この関数では、省略可能なパラメーターにデフォルト値を使用します。
greetingのデフォルト値は"Hello"としますrepeatCountのデフォルト値は1とします
あいさつのパターンを指定された回数だけ繰り返し、スペースで区切った文字列を作成してください。
パラメーター:
name(String): 人の名前(必須)greeting(String): あいさつの語(デフォルト:"Hello")repeatCount(Int): あいさつを繰り返す回数(デフォルト:1)
戻り値: あいさつのパターンを繰り返した文字列。形式: "[greeting], [name]!"をrepeatCount回繰り返し、単一のスペースで区切ったもの(String)
たとえば、nameが"Alice"、greetingが"Hi"、repeatCountが2の場合、関数は"Hi, Alice! Hi, Alice!"を返します。
nameだけを"Bob"として呼び出した場合(デフォルト値を使用)、"Hello, Bob!"を返します。
自分で試してみよう
func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
// ここにコードを書いてください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Swiftプレイグラウンド