如何在 Dart 中拼接字符串

Dart 拼接字符串的用法我一直有点模糊,今天翻了两个帖子,将它总结在这。

String a = 'a';
String b = 'b';

var c1 = a + b; // + 
var c2 = '$a$b'; // $
var c3 = "$a $b" 

大部分情况直接用 “+” 拼接就行,但特别要区分是否用双引号或单引号包括在字符串两边。

还有一种情况,对象中的字符串如何拼接。比如:

class Person {
  String height = "";
  String unit = "";

  Person(this.height, this.unit);
}

Person person = Person(height: "180",unit: "cm");

那现在如何将对象中的两个属性值拼接成 180cm 呢?还是一样。

 String s1 = person.height + person.unit; //直接用 +
 String s2 = "$person.height$person.unit"; //这种写法是错误的
 String s3 = "${person.height}${person.unit}"; //正确
 String s4 = "${person.height} ${person.unit}"; //正确,结果180 cm

但一定要注意,”+”拼接字符串一定要确保变量或者表达式或者字符串不能为空,不然会提醒如下报错。

String? height ;
String s1 = person.height + person.unit;

The operator '+' can't be unconditionally invoked because the receiver can be 'null'

OK,以上就是我要分享的,希望对你有帮助。参考:How to concatenate two string in Dart?

本文由老郭种树原创,转载请注明:https://guozh.net/how-to-concatenate-two-string-in-dart/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注