Flutterの基礎部分(型)を自分なりにまとめて見ました。Flutterはオブジェクト指向であるDart言語を用いてアプリ開発ができるクロスプラットフォームになります。Widgetを重ねてアプリのUIを構築していきます。クラスのインスタンスであるプリミティブ・関数・NULLはオブジェクトであり、Objectクラスから継承されます。Dartの処理はmain関数から始まり{ }の中に定義していきます。関数の中にログprint
や変数
を書いて行きます。Dartの型推論は強力で、ある程度は型無しでvar
で値を入れることが可能です。またprint関数の中に$
の値を使って変数値を入れることができます。
int・double型(数値)
int hogeA = 5; //整数
double hogeB = 20.8; //少数
String型(文字列)
String hogeC = 'Hello!!';
Boolean型(真偽値)
bool hogeD = true;
bool hogeE = false;
List型(配列)&メソッド
List hogeF = [1, 4, 3, 5, 2];
hogeF.add(6); //配列の中に6を追加
hogeF.indexOf(5); //配列の値を検索してその配列番号を取得 => 3
hogeF.insert(6, 10) //配列の6番目の要素に10を挿入する => [1, 4, 3, 5, 2, 6, 10]
hogeF.length; //配列の長さを取得 => 6
hogeF.removeAt(6); //配列の6番目の値を削除して、その値を返す => 10
List<String> hogeG = ['ABC', 'DEF', 'GHI'];
hogeG.forEach((hogeHoge) => print(hogeHoge)); // リスト内の各要素に対して関数を実行 => ABC DEF GHI
var mappedHoges = hogeG.map((hogeHoge) => 'アルファベットの $hogeG').toList();
print(mappedHoges); // 与えられた各要素に処理をし、その要素群に対して新しいリストを作成 => ['アルファベットの ABC', 'アルファベットの DEF', 'アルファベットの GHI']
print(hogeF.contains(7)); // 与えられた要素がリストにあるか確認 => false
print(hogeG.contains('ABC')); // => true
print(hogeF.sort((hoge1, hoge2) => hoge1 - hoge2)); // 与えられた順序付け関数に基づいてリスト内の要素を順序付けする。 => [1, 2, 3, 4, 5, 6]
print(hogeG.sort((a, b) => a.length.compareTo(b.length))); // .compareToは値や文字列が等しいか、どちらが大きいかを判断 => [ABC, DEF, GHI]
var sumHoge = hogeG.reduce((hoge, nextHoge) => hoge + nextHoge);
print(sumHoge); // 与えられた関数を使って要素を単一に圧縮 => 21
const initialValue = 9;
var sumHogeHoge = hogeG.fold(initialValue, (hoge, nextHoge) => hoge + nextHoge)); // initialValueは初期値を入れるプロパティ
print(sumHogeHoge); // 与えられた関数を使って要素を単一に圧縮 => 30
Set型(重複させない配列)
Set<String> hogeH = {'A', 'B', 'C'};
hogeH.add('D'); // => ['A', 'B', 'C', 'D']
hogeH.add('D'); // => false
print('$hogeH, ${hogeH.length}'); // => 'A, 'B', 'C', 'D', ['1', '1', '1', '1']
print('$hogeH.toList()[1]'); // 配列に変換 => ['A', ['B'], 'C', 'D']
Map型(keyの型, value型)
Map<String, int> ageHoge = {'father': '40', 'mother': '35', 'son': '5'};
ageHoge.addAll({'daugher': '1'}); // => 配列に全ての要素を加える => ['father': '40', 'mother': '35', 'son': '5', 'daugher': '1']