[Dart]「null-safety」の「!」とは?

Dart

「null-safety」で使われる「!」について解説します。

スポンサーリンク

「!」とは

インターフェース, インターネット, プログラム, ブラウザ, Www

「!」は、「null許容型」を、一瞬だけ「null非許容型」にする演算子です。

言い換えると、「!」がつくと、一時的に「null」を代入できなくなるのです。

  int? num = null;
  
  print(num); //null
  
  print(num!); //エラー

上記の例では、「null」を「int?」型に代入し、値を出力しています。

単に出力するだけであれば、「null許容型」なので「null」が出力されます。

ですが、「!」を付けると、「null非許容型」(nullが代入できない型)になるので、エラーが起きます。

「!」は、絶対に「null」にさせたくない場合に使用されます。

スポンサーリンク

注意

「!」は、「int?型」なら「int型」、「String?型」なら「String」になります。

なので、キャストのように元々の型とは違うものに出来るわけではない点に注意してください。

スポンサーリンク

まとめ

「!」は、「null」を一時的に使えなくする演算子です。

「null」が代入されていてはいけないような場面で使います。

スポンサーリンク

オススメの記事

[Dart]「int」を「String」に変換する方法

[Dart]変数の型を定義する方法

[Dart]変数の初期化を遅らせる方法

コメント

タイトルとURLをコピーしました