Dart Basic その1
本ページはDartについて学習した内容を記録したものです。
Dart Pad
Dartを学ぶために何かをインストールする必要はない。
Flutterの前にDart言語を理解する必要があるのでまずはWeb上でDart言語が実行できるDartPadで学習を始める。
Googleでdartpadを検索すると一番最初に出てくるものをクリックする。
DartPadをクリックすると次のような画面が表示される。
main関数が表示されていてその中に何か書いてあるかもしれないが、一旦消してしまおう。
いつものHello Worldを出力してみよう。
1
2
3
void main() {
print('Hello World!');
}
上記のように入力して画面上にある「Run」ボタンをクリックすると右側のConcsole窓に結果が表示される。
文の最後にセミコロン(;)を忘れずに!
変数
Dartではいろんな方法で変数宣言ができる。代表的なものはvarによる宣言だ。
1
2
3
4
5
6
void main() {
var name = 'Hello';
print(name);
name = 'papanoyang';
print(name);
}
データタイプ
先ほどは変数を宣言し、文字列の値を設定したので文字列型(String)になる。今回は整数型を宣言してみよう。
1
2
3
void main() {
var n1 = 10;
}
整数の値を設定すれば、整数型の変数が宣言できる。でも明示的に型を指定して宣言することもできる。
1
2
3
void main() {
int n1 = 10;
}
上記のようにデータタイプを明示的に指定すると整数以外の値を設定するとエラーになる。
整数の宣言ができるようになったので演算をやってみよう。
1
2
3
4
5
6
7
8
9
void main() {
int n1 = 4;
int n2 = 6;
print(n1 + n2);
print(n1 - n2);
print(n1 / n2);
print(n1 * n2);
}
double型も存在する。文字列型も、bool型も存在する。
1
2
3
4
5
void main() {
String str = 'Hello World';
bool isTrue = false;
double d1 = .001;
}
doubleの場合小数点の前が0の場合、省略できる。
varとデータタイプを明示的に指定するのとどんな違いがあるだろう。varは設定される値によって型が決まるのは分かる気がする。値なしで設定するとどうなるだろう。型を確認してみよう。
1
2
3
4
5
6
7
8
9
10
11
12
13
void main() {
var v1 = 10;
var v2 = .5;
var v3 = false;
var v4 = '文字列';
var v5;
print(v1.runtimeType);
print(v2.runtimeType);
print(v3.runtimeType);
print(v4.runtimeType);
print(v5.runtimeType);
}
タイプの確認はruntimeTypeで分かる。値を設定してないものはnullとなっている。
printを使っているので使い方を覚えておこう。今までは変数をそのままprintに指定していたが、フォーマッティングしたい時もある。
1
2
3
4
5
6
void main() {
var v1 = 10;
var v2 = .5;
print('変数v1の値は$v1です');
}
printに渡す文字列の中に$を記入し、変数名を入力すると該当変数の値に置き換わる。
今回はデータタイプも見たいとか、数字を出したいとかになると以下の方法でできる。
1
2
3
4
5
void main() {
var v1 = 10;
print('変数v1の値は$v1です。データタイプは${v1.runtimeType}');
}
dynamic
Dartのデータタイプの中にdynamicというものがある。
1
2
3
4
5
6
void main() {
dynamic d1 = 'ダイナミックです!';
print('変数d1の値は"$d1"です。データタイプは${d1.runtimeType}');
d1 = 100;
print('変数d1の値は"$d1"です。データタイプは${d1.runtimeType}');
}
結果は次のようになる。
1
2
変数d1の値は"ダイナミックです!"です。データタイプはString
変数d1の値は"100"です。データタイプはint
上記のようにdynamic型はデータタイプを自由に変えることができる。
先ほどvarで値を指定してなかったときにデータタイプがnullになっていたので少し気になる。次のコードをやってみよう。
1
2
3
4
5
6
7
void main() {
var v1;
v1 = 'Stringかも';
print('変数d1の値は"$v1"です。データタイプは${v1.runtimeType}');
v1 = 100;
print('変数d1の値は"$v1"です。データタイプは${v1.runtimeType}');
}
1
2
変数d1の値は"Stringかも"です。データタイプはString
変数d1の値は"100"です。データタイプはint
コンパイラーに怒られるかもしれないが、varで宣言したときに値を指定してなかったら、該当変数はdynamicになることが分かる。
コメントする