目的
Optionalな変数をアンラップして利用したい。
環境
- Flutter
2.0.1
- Dart
2.12.0
コード
if
で null
判定を行い、reutrn
で関数スコープ抜けると、
その後のコードでは、 unwrap
されたとみなされます。
void func(int? value) {
if (value == null) {
return;
}
print(value + 10);
}
swift の guard文の逆みたいな感じですね。
ただ、Android Studio では if を入れる事で確かにコンパイルが通るようにはなるのですが、
swift の用に明示的に Optional
でない int
に再代入されるわけではなく、
若干、ルール縛りみたいな印象を受けるので、
個人的には swift の guard文 の方が明瞭で好きです。
参考にしたサイト
Swift Optional vs Dart sound null safety _ I should go to sleep
https://ishouldgotosleep.com/computer-science/swift-optional-vs-dart-sound-null-safety/