$変数 と ${式} で文字列に値を埋め込む!


文字列の中に変数や計算結果を入れたいとき

普通の書き方:

String name = 'ヒサヨ';
int age = 35;

String message = 'こんにちは、' + name + 'さん。年齢は' + age.toString() + '歳ですね。';

で繋げるの、面倒…
Dartのスマートな書き方:

String name = '花子';
int age = 35;

String message = 'こんにちは、${name}さん。年齢は${age}歳ですね。';

${} の中に変数を入れるだけ! 超簡単😊

さらに短く: 変数だけなら $ だけでOK

String message = 'こんにちは、$nameさん。年齢は$age歳ですね。';

計算もできる:

int price = 1000;
int count = 3;

String total = '合計: ${price * count}円';  // 合計: 3000円

// これは複雑な式なので {} が必要
String discount = '割引後: ${price * count * 0.9}円';  // 合計: 2700円

Flutter の UI でよく使う:

Text('生徒数: $studentCount人'),

Text('${student.name}さんの月謝: ${student.fee}円'),

AppBar(title: Text('${DateTime.now().year}年 ${DateTime.now().month}月')),

print デバッグでも便利:

int score = 85;
print('テストの点数: $score');  // テストの点数: 85

String status = score >= 80 ? '合格' : '不合格';
print('結果: $status ($score点)');  // 結果: 合格 (85点)

$ と ${} の使い分け:

$変数変数をそのまま表示‘名前: $name’
${式}計算や関数呼び出し‘合計: ${a + b}’
${変数.プロパティ}オブジェクトのプロパティ‘名前: ${user.name}’

まとめ

迷ったら ${} を使えば間違いなし!