Dart(ダート)は、Googleが作ったプログラミング言語です。
特にスマホアプリを作るフレームワーク「Flutter」と一緒に使われています。
Flutterを始めたいけれど「Dartの書き方がわからない…」という方はとても多いです。
でも安心してください!
この記事では、Dartの基本的な書き方をやさしく説明します。文法の特徴からよく使う書き方まで、これからFlutterを学ぶ人にとって最適なスタートラインをお届けします。
Dartとは?まずは言語の特徴を知ろう
Dartってどんな言語?
Dartは、シンプルでわかりやすい書き方ができるプログラミング言語です。
JavaScriptに似た書き方が特徴で、初心者にも親しみやすい設計になっています。
Web、スマホアプリ、デスクトップアプリなど、いろいろなプラットフォームで動くアプリを作ることができます。
特にFlutter開発では必須の言語です。
Dartの3つの大きな特徴
オブジェクト指向プログラミング
- ものごとを「オブジェクト」として考える
- コードを整理しやすく、再利用しやすい
型安全(null安全)サポート
- エラーが起きにくい仕組みが built in されている
- プログラムがクラッシュしにくい
AOTとJITの両対応
- AOT:事前にコンパイルして高速動作
- JIT:開発中の変更をすぐに確認できる
Dartの背景を理解することで、なぜFlutterにDartが使われているのかが見えてきます。
次は、実際にDartのコードの基本的な構造を学んでいきましょう。
基本構文の書き方とルール
Dartプログラムの基本構造
Dartのソースコードは、以下のような基本的な構成でできています。
基本的なプログラムの例
void main() {
print('Hello, Dart!');
}
コードの説明
main()
:Dartプログラムが始まる場所(エントリーポイント)print()
:文字を画面に表示するための命令- セミコロン(
;
):文の終わりに必ず必要
コメントの書き方
プログラムに説明を書きたいときは、コメントを使います。
一行コメント
// これは一行のコメントです
print('Hello!'); // この部分もコメント
複数行コメント
/*
これは複数行の
コメントです
*/
コードの始まり方を理解することで、Dartプログラムの全体像がつかめます。
次は、変数やデータ型について詳しく見ていきます。
変数とデータ型の基本
変数って何?
変数とは、データを入れておく「箱」のようなものです。その箱に名前をつけて、あとでデータを取り出したり、変更したりできます。
Dartは型安全な言語なので、変数の型(データの種類)を明確にすることも、Dartに自動で判断してもらうこともできます。
いろいろな変数の宣言方法
具体的な型を指定する方法
int age = 30; // 整数(年齢)
double height = 175.5; // 小数点がある数(身長)
String name = 'Taro'; // 文字列(名前)
bool isStudent = true; // true または false
型推論を使う方法
var name = 'Taro'; // Dartが自動で String 型と判断
var age = 30; // Dartが自動で int 型と判断
var height = 175.5; // Dartが自動で double 型と判断
変更できない変数の作り方
final:一度だけ値を設定できる
final city = 'Tokyo'; // あとで変更不可
// city = 'Osaka'; // エラーになる
const:プログラムを作るときに決まる定数
const country = 'Japan'; // 絶対に変わらない値
const pi = 3.14159; // 円周率のような定数
final と const の違い
final
:プログラムが動いているときに一度だけ決まるconst
:プログラムを作るときに決まっている
Dartでは、読みやすさと安全性を両立するために、変数の扱いがとても柔軟です。
次は、条件分岐や繰り返し処理の書き方を学んでいきましょう。
条件分岐とループの使い方
条件分岐:if文で条件に応じて処理を分ける
条件分岐は、「もし〜だったら」という処理を書くときに使います。
基本的なif文
int age = 20;
if (age >= 18) {
print('成人です');
} else {
print('未成年です');
}
複数の条件を組み合わせる
int score = 85;
if (score >= 90) {
print('優秀です!');
} else if (score >= 70) {
print('良い点数です');
} else {
print('もう少し頑張りましょう');
}
switch文:たくさんの選択肢から選ぶ
選択肢がたくさんあるときは、switch文が便利です。
switch文の例
String color = 'red';
switch (color) {
case 'red':
print('赤色です');
break;
case 'blue':
print('青色です');
break;
case 'green':
print('緑色です');
break;
default:
print('その他の色です');
}
繰り返し処理:同じ処理を何度も実行する
for文:決まった回数だけ繰り返す
// 0から4まで表示する
for (var i = 0; i < 5; i++) {
print('数字: $i');
}
while文:条件が true の間繰り返す
int count = 0;
while (count < 3) {
print('カウント: $count');
count++; // count を1つ増やす
}
for-in文:リストの中身を順番に処理する
List<String> fruits = ['りんご', 'バナナ', 'オレンジ'];
for (String fruit in fruits) {
print('果物: $fruit');
}
制御構文を理解することで、複雑な処理もDartでスマートに書けるようになります。次は、関数の定義と使い方にフォーカスします。
関数とその応用
関数って何?
関数とは、よく使う処理をまとめて、名前をつけたものです。一度作っておけば、何度でも呼び出して使うことができます。
基本的な関数の作り方
戻り値がある関数
// 2つの数を足す関数
int add(int a, int b) {
return a + b;
}
// 関数を使う
int result = add(5, 3); // result は 8
print(result);
戻り値がない関数
// あいさつをする関数
void greet(String name) {
print('こんにちは、${name}さん!');
}
// 関数を使う
greet('太郎'); // 「こんにちは、太郎さん!」と表示
省略記法:アロー構文
簡単な処理の場合、より短く書くことができます。
通常の書き方
int square(int x) {
return x * x;
}
アロー構文での書き方
int square(int x) => x * x;
無名関数とコールバック
名前をつけない関数を作ることもできます。
リストの各要素に処理を実行する
List<int> numbers = [1, 2, 3, 4, 5];
// 各数字を2倍にして表示
numbers.forEach((number) {
print('2倍: ${number * 2}');
});
map関数で新しいリストを作る
List<int> numbers = [1, 2, 3];
List<int> doubled = numbers.map((n) => n * 2).toList();
print(doubled); // [2, 4, 6]
関数は再利用できるコードを書くためのカギです。
Dartでは短く、わかりやすい書き方もできるので、実際の開発で大活躍します。
よく使うDartの便利な機能
文字列の中に変数を埋め込む
文字列の中に変数の値を入れるときは、$
記号を使います。
String name = '太郎';
int age = 25;
print('私の名前は$nameで、$age歳です');
// 「私の名前は太郎で、25歳です」と表示
// 計算式を入れるときは {} で囲む
print('来年は${age + 1}歳になります');
リスト(配列)の基本操作
// リストを作る
List<String> fruits = ['りんご', 'バナナ'];
// 要素を追加する
fruits.add('オレンジ');
// 要素を取得する
print(fruits[0]); // 「りんご」
// リストの長さを取得する
print(fruits.length); // 3
マップ(辞書)の使い方
// マップを作る
Map<String, int> scores = {
'太郎': 85,
'花子': 92,
'次郎': 78,
};
// 値を取得する
print(scores['太郎']); // 85
// 新しいキーと値を追加する
scores['美咲'] = 95;
まとめ:Dartの基本をマスターしてFlutterへ進もう!
Dartの基本構文を理解することで、Flutterのコードも読みやすくなり、効率的なアプリ開発ができるようになります。
この記事で学んだこと
- 変数の宣言方法(var、final、const)
- 条件分岐(if文、switch文)
- 繰り返し処理(for文、while文)
- 関数の作り方と使い方
- 便利な機能(文字列補間、リスト、マップ)
これらの基本をマスターすれば、Dartの入門レベルはクリアです。
コメント