首页 > 解决方案 > 关于连接对象和字符串的 Dart 问题

问题描述

如何将字符串“km/h”连接到 print(tesla.speed); ? 这样控制台将输出 200 公里/小时?我知道最简单的方法是将“int?speed”更改为“String?speed”,然后将 km/h 放入 topSpeed:“200km/h”。但我想知道是否有另一种方法可以在不改变 int 的情况下做到这一点?速度到字符串?速度。?

void main() {
  Car tesla = Car(carModel: "Model-S", topSpeed: 200);

  print (tesla.model);
  print (tesla.speed);
}


class Car{

  String? model;
  int? speed;

  Car({String? carModel, int? topSpeed}){
    model = carModel;
    speed = topSpeed;
  }
}

标签: dart

解决方案


为此,您必须在 String 中的变量名称前添加一个美元符号,如下所示。

String name = "John Doe";

print('Good Morning, $name');

在上面的示例中,我们使用直接变量作为字符串的输入。但是,在您的情况下,您使用了 Modal 类来存储数据。所以我们不能只将字符串操作作为'$name'. 这将打印Instance of 'Car'. 对于这种情况,我们必须在需要添加字符串插值的对象周围添加花括号,如下所示。

Car tesla = Car(carModel: "Model-S", topSpeed: 200);

print ('${tesla.speed} km/h');

有关更多信息,请参阅:

dart 中字符串插值的演示

来源


推荐阅读