はじめに
この記事ではFlutterでアプリ開発をする際に必要なDart言語の基礎文法についてまとめています。
変数
変数は格納した値を後から上書きすることが出来るものです。
Dartではvarを変数名の前に配置して、その次にスペースを空けて変数名を記述し、変数を定義することができます。
Dartでは、行の終わりは; (セミコロン)が必要になります。
最後の;がまだ慣れないですが。
// ① 初期値なし
var hoge;
print(hoge); // null
// ② 変数の宣言時に初期値を代入することが出来です。
var str = 'hoge';
print(str); // hoge
Swiftの場合は以下のように書きます。
var String: str = "hoge"
定数
定数は一度格納した値は後から上書きすることが出来ないものです。
Dart言語の定数には「final」と「const」 の2種類があります。
・final → ビルド時に値が代入される それ以降は値を変更できない
・const → コンパイル時に値が代入される それ以降は値を変更できない
ビルド時orコンパイル時に値が代入されるかの違いがあります。
const 定数名 = 値;
final 定数名 = 値;
void main() {
final int number = '10'; // ビルド時に値が代入される
const name = 'John'; // コンパイル時に値が代入される
// それぞれの値をprintする
print(number);
print(name);
}
// 出力結果 10, John
if文
if文は条件によって処理を分けたい場合に使用します。
main() {
var value = 4; // 初期の値
if (value % 2 == 0) { //
print('2の倍数');
} else if (value % 4 == 0) {
print('4の倍数');
} else if (value % 8 == 0) {
print('8の倍数');
} else {
print('2, 4, 8の倍数以外');
}
}
// if (条件式1) {
// 条件式1が真(true)の時に実行する処理;
// }else if(条件式2) {
// 条件式1が偽(false)で条件式2が真(true)の時に実行する処理;
// }else if(条件式3) {
// 条件式1及び条件式2が偽(false)で条件式3が真(true)の時に実行する処理;
// }else{
// 全ての条件式が偽(false)の時に実行する処理;
// }
//
上記の例では、valueという変数に'4'という値が格納されいてます。
そのvalue変数をif文の条件式に使用しています。
4という数字が、2 or 4 or 8で割った時に0になるかどうか、もしくは0にならないのかの4つの条件式を書いています。
なので上記の式で実行すると 2の倍数 という文字が出力されます。
for文(繰り返し処理)
処理を繰り返し行いたい時にしようします。
for文を用いることで、for文内の処理を繰り返し行うことができます。
for文の書き方
for(初期化式; 条件式; 変化式){
処理内容... //条件式がtrueの間実行される
}
使用例
void main() {
for(int i = 0; i<10; i++)
print('Hallo World');
}
}
//出力結果 Hallo World ×10
[i]の値が10になるまで繰り返し同じ処理を行なっています。
なので上記の処理では、Hallo Worldを10回printします。
for in文(オブジェクトの各プロパティに対し繰り返し)
for in文を用いることで、Listなどに格納されている全てのデータを0から順に取得し、変数に代入させていくことができます。
配列の最後のデータを取得し処理を終えるとループ処理が終了します。
for in文の書き方
for (var 変数 in 配列){
// 処理内容
}
main() {
List<int> hogeList = [1, 2, 3, 4];
for (var value in hogeList) {
print(value);
}
}
// 出力結果 1 2 3 4
上記の例は、配列のデータを先頭の 1 から順にプリントするプログラムです。
最後のデータである 4 を取得し処理を終えるとループ処理が終了します。
forEach文(配列やコレクションに対して繰り返し)
forEach文は、Listに格納されている全てのデータを0から順に取得することができます。
基本的な役割としては上記で解説したfor in文と同じになります。
forEach文の書き方
List名.forEach((変数){
(実行したい処理)
}
)
使用例
void main() {
List<int> numList = [1, 2, 3, 4, 5];
numList.forEach((num){
print(num);
}
);
}
//出力結果 1, 2, 3, 4, 5
上記の例は、配列のデータを先頭の 1 から順にプリントするプログラムです。
最後のデータである 5 を取得し処理を終えるとループ処理が終了します。
まとめ
簡単にDartの基礎文法である、変数、定数、if文、for文、for in文、forEach文についてまとめました。
Swiftとは書き方が違うのでまだ慣れないですね。
最後までご覧いただきありがとうございました!