🤖

Dartのデフォルトコンストラクターで見たことがない書き方があったためメモしておく

2023/07/18に公開

業務コードで見たことがない書き方があったためメモしておく。
サンプルコードはざっくりこんな感じ

class A {
 A() : list = [];
 A.getAnimals() : list = ['dog','cat','rion','sneak'];
 A.getSports() : list = ['baseball','softball','golf','socker'];
 
 final List<String> list;
}

void main () {
 print(A().list);
 print(A.getAnimals().list);
 A.getAnimals().list.add('ocelot');
 print(A.getAnimals().list);
 print(A.getSports().list);
}

出力

[]
[dog, cat, rion, sneak]
[dog, cat, rion, sneak]
[baseball, softball, golf, socker]

説明

A()、A.getAnimals()、A.getSports()によってlist変数の値を変えられる。

Discussion