【入門者向け】Dartの基本構文をマスターしよう!Flutter開発の第一歩

Dart

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の入門レベルはクリアです。

コメント

タイトルとURLをコピーしました