文字列の中に変数や計算結果を入れたいとき
普通の書き方:
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}’ |
まとめ
迷ったら ${} を使えば間違いなし!
