Swift 標準ライブラリ >     ??(_:_:)


汎用演算子


??(_:_:)


nil 合体操作を実行し、Optional インスタンスの密封された値またはデフォルト値を返します。





宣言


func ??<T>(optional: T?, defaultValue: @autoclosure () throws -> T) rethrows -> T


パラメータ


optionaloptional の値。
defaultValueデフォルトとして使用する値。defaultValue は、optionalWrapped (密封された)型と同じ型です。


議論


nil 合体操作は、値がある場合は左側を開封し、デフォルトの場合は右側を返します。この操作の結果は、左辺の Wrapped (密封)された型の optional でない型を持ちます。


この演算子は短絡評価を使用します。optional は最初にチェックされ、defaultValueoptionalnil の場合にのみ評価されます。例えば:


func getDefault() -> Int {
    print("Calculating default...")
    return 42
}

let goodNumber = Int("100") ?? getDefault()
// goodNumber == 100

let notSoGoodNumber = Int("invalid-input") ?? getDefault()
// Prints "Calculating default..."
// notSoGoodNumber == 42


この例では、Int("100")nil でない結果を返すのに成功したため、goodNumber100 の値を代入されます。notSoGoodNumber が初期化されると、Int("invalid-input") は失敗し、nil を返し、したがって、getDefault() メソッドが呼び出されてデフォルト値が提供されます。


目次
Xcode の新機能

  • 言語:Swift
  • 宣言
  • パラメータ
  • 議論












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)