【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part05 Built-in型
「基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は Dart編 ( part05 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part04 Built-in型
今回はBuilt-in型の続きになります。
変数
Built-in型
bool
true
とfalse
はコンパイル時定数。
if文やassert関数はbool値のい指定できます。
この方は2つの値しか採択できないシンプルな型なので割と好きです。
List
Dartには「配列」というものが存在しません。
このList
クラス一本だけです!
順序が保証されています。追加した順番に格納されていて、インデックスを指定するとその値が取得出るということです。
シンプルでいいですね😄
指定したインデックスが無い場合は実行時エラーになります。
add
でデータを追加し、リストの変数に[x]
を付与してインデックス指定することで値を参照できます。
var list = <int>[];
list.add(100);
print(list[0]);
リストのインデックスは0
から始まります。
リストの1つ目の値を参照したい場合は0
を指定すればいいわけですね。
いくつか宣言方法があるようです。
どれも同じ意味です。
var list1 = <int>[];
var list2 = List<int>();
List<int> list3 = [];
連続した値のリストが欲しい場合は以下のように実装すればよいとのことです。
var list = Iterable<int>.generate(3).toList();
print(list)
スマートですね。コレクションが、というよりもIterableのメソッドがスマートですよね(笑
generate
メソッドは第2引数に関数を渡すことができます。
これを用いて簡単にテストデータを作ることができそうですね。
以下、重要な機能なので覚えておきます。
- Spread Operator
- null-aware Spread Operator
- collection if
- collection for
Set
ユニークな値を保持するためのコレクションです。
なので同じ「値」はあと勝ちで上書きしていきます。
Set
そのものは順序は保証されていません。
DartではLinkedHashSet
がデフォルトの実装となっているため順序が保証されます。
つまりDartでは普通にSetを使う場合、順序を保証するということです!
Set v1 = const {};
はSetになりますが、
var v2 = const {};
はMap
で判定されるそうです。
気を付けないといけませんね。
最後に
Javaとあまり変わりないように見えるので少し安心しました!
でも初学者はこれでわかるんでしょうかね・・・。
本書はこの部分がメインではないので大丈夫ですよね!
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません