以下のような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 から追加された機能らしい。