Swiftの**nil合体演算子(??)**は、オプショナル型の値がnilであった場合に、代わりにデフォルト値を提供するための演算子です。これは、オプショナルのアンラップとデフォルト値の指定を簡潔に記述できる手段としてよく使われます。
基本構文
-
オプショナル値:オプショナル型の変数や式 -
デフォルト値:オプショナル値がnilだった場合に使用される値 -
結果:オプショナルをアンラップした非オプショナル型の値
使用例
この例では、optionalNameがnilであるため、"デフォルト名"が代わりにnameに代入されます。
nilでない場合
この場合、optionalAgeがnilでないため、その値30がageに代入されます。??の右辺(18)は評価されません。
応用例(関数内)
注意点
-
??演算子はオプショナルを安全にアンラップする手段の1つです。 -
右辺のデフォルト値は、オプショナル型ではなく、非オプショナル型である必要があります。
まとめ
| 特徴 | 内容 |
|---|---|
| 用途 | オプショナルがnilなら代わりの値を使用 |
| 型 | 結果は非オプショナル型になる |
| 書き方 | オプショナル値 ?? デフォルト値 |
| 評価の仕方 | オプショナル値がnilでないときは右辺は評価されない |
生成日:2025/05/04