DartでSwiftのif letぽく書きたい!!
こんにちは。モバイル開発歴 12 年目の井上です。
業務で Flutter / Dart を扱う事があり、その中で Swift の if let のように書きたい!!
var fruit: String? = "apple"
if let apple = fruit {
print("リンゴ")
}
と思ったのですが・・・Dart では書けない事が判明
なんとか書けなものかとさらに調べると、switch で Null チェックができることを発見!!
String? fruit = "apple";
switch (fruit) {
case var apple?:
print("リンゴ");
}
これだ!! if let では無いものの理想に近い物に出会えました。
Dart 3.0 から使用することができます。ご注意ください
余談になりますが
String? fruit = "apple";
switch (fruit) {
case var apple?:
print("リンゴ");
default:
return;
}
上記のように default に return を記述すると、switch を終えた後の fruit は Null 非許容として扱うことができます。