この記事では、Dartのfor文について書いていきます。
サンプル
void main(){
// リストのインデックス(何番目か)を利用する場合
List<String> fruits = ['バナナ', 'オレンジ', 'スイカ'];
for (int i = 0; i < fruits.length; i++) {
print('${i}個目は ${fruits[i]} です。');
}
}よく使うプロパティ
ループの回数を指定したり、条件判定によく使うプロパティです。
length(長さ)
従来のfor (int i = 0; i < list.length; i++)の形で(ループカウンタが小さい順)ループを回す際、頻繁に使います。変数i(ループカウンタ)で要素のカウントをしています。
void main(){
var num = [10, 20, 30];
for (var i = 0; i < num.length; i++) {
print('$i番目の要素は ${num[i]}');
}
}書き方
for(初期化式;条件式;変化式){
繰り返す処理
}括弧内の最初にfor文内で扱う変数の宣言と初期化を行います。例
var i =0;
Dartでは変数の宣言はfor文の外でも行うことができます。
次に条件式です。この条件式を満たす間は繰り返し処理を続けます。中かっこ内の最後の処理までいったらこの条件式を見て評価し、繰り返すか抜けるかを判断します。また、for分の中にbreakなどがあればそちらを優先されます。
最後に変化式です。処理を繰り返す度にこの処理を実行します。初期化式で宣言した変数をインクリメントさせたり、デクリメントさせることが多いですが、初期化した変数を使わなければならないというわけでもありません。
中かっこの最後の処理が終わったらこの変化式を実行します。条件式の評価前に行われます。
for文とは
for文はループ処理を一回行うごとに、変数に一定の変化を与えて、条件判定して次のループをするか判断する繰り返し処理です。
for-in文との違い
Dartの for 文と for-in 文の大きな違いは目的とデータの取得方法です。
for 文は指定された数の繰り返し処理に向いています。ループカウンタで指定しその都度何度目のループが確かめることができます。また、変数に入れられた値全ての要素を出力します。
一方、for-in文はListやMapなどの要素が複数配列されているものの出力に向いています。
