nakaoka3の技術ブログ

2023年中に52本なにか書きます

【Swift】enumのassociated value にデフォルト値をつける

以下のようなSwiftのコードを書いた。

enum Example {
    case one
    case two(name : String)
    case three(name : String = "taro")
}

print(Example.three(name: "hanako")) // three(name: "hanako")
print(Example.three()) // three(name: "taro")

enumのassociated valueにデフォルト値をつけらるとは思っていなかったので、コンパイルエラーになるだろうなと思っていたが、予想に反してコンパイルできた。Swiftのバージョンは 5.8.1 で実行している。

予想とは違っていたので目を疑ったが、どう考えてもコンパイルできて動いている眼の前の現実のほうが正しいだろう。

以下の記事によるとSwift 5.1 から追加された機能らしい。

www.swiftbysundell.com