void main() {
  // 変数宣言
  String name = "たろう";
  int age = 16;
  double height = 170.5;
  bool isStudent = true;

  // 型推論(var)
  var score = 95;

  // 出力
  print("こんにちは、$name!");
  print("年齢: ${age}歳");

  // null安全
  String? maybeNull = null;  // ?でnullを許容
  print(maybeNull?.length);  // null安全なアクセス
  print(maybeNull ?? "デフォルト");  // null合体演算子

  // 条件分岐
  if (age >= 18) {
    print("成人です");
  } else {
    print("未成年です");
  }

  // ループ
  for (int i = 0; i < 5; i++) {
    print(i);
  }

  // リスト
  List<String> fruits = ["りんご", "バナナ", "みかん"];
  fruits.forEach((f) => print(f));

  // マップ(辞書)
  Map<String, int> scores = {"国語": 80, "数学": 90};
  print(scores["数学"]);  // 90
}
📌 Dartの独特な点
  • エントリポイントは void main()
  • 文字列補間は ${変数名}(式展開)
  • List<型>Map<Key型, Value型> でジェネリクスを使う