Menu
Coddy logo textTech

デフォルト値

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

デフォルト値を使用することで、関数がより柔軟になります。一般的なケースではシンプルに動作し、必要に応じてカスタマイズすることも可能です。

challenge icon

チャレンジ

簡単

namegreeting、および repeatCount を受け取り、フォーマットされた挨拶メッセージを返す関数 formatGreeting を作成してください。

この関数は、オプションのパラメータに対して以下のデフォルト値を使用する必要があります:

  • greeting のデフォルト値は "Hello" とします
  • repeatCount のデフォルト値は 1 とします

挨拶のパターンを指定された回数だけ繰り返し、スペースで区切った文字列を構築してください。

パラメータ:

  • name (String): 人の名前(必須)
  • greeting (String): 挨拶の言葉(デフォルト: "Hello"
  • repeatCount (Int): 挨拶を繰り返す回数(デフォルト: 1

戻り値: 挨拶のパターンを繰り返した文字列。フォーマット: "[greeting], [name]!"repeatCount 回繰り返し、単一のスペースで区切ったもの (String)

例えば、name"Alice"greeting"Hi"repeatCount2 の場合、関数は "Hi, Alice! Hi, Alice!" を返します。

name"Bob" のみを指定して呼び出した場合(デフォルト値を使用)、"Hello, Bob!" を返します。

チートシート

パラメータにデフォルト値を設定するには、パラメータの型の後に代入演算子(=)を使用します。

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

自分で試してみよう

func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
    // ここにコードを記述してください
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン