0

我在http://api.dartlang.org/中读到应该有一个字符串运算符 +

抽象字符串运算符+(其他字符串)

通过将此字符串与其他字符串连接来创建一个新字符串。

由于某种原因它不起作用,Dart 说:

“'+' 不能用于字符串连接”。

我误解了运营商吗?

4

2 回答 2

3

你运行的是哪个版本的 Dart?这对我有用:

$ dart --version
Dart VM version: 0.6.3.3_r24898 (Thu Jul 11 07:47:12 2013) on "linux_x64"
$ cat test.dart 
main() {
  print("a" + "b");
}
$ dart test.dart 
ab
于 2013-07-11T21:48:49.410 回答
2

有一段时间,字符串的 + 运算符被删除了。不过,这件事最近又被带回来了。确保您使用的 Dart 编辑器/SDK 是最新的。

通常,有比使用 + 运算符进行字符串连接更好的选择。对于变量,您可以使用字符串插值:

var username = 'Jason';
// ...
var msg = 'Hello ${username}';

对于更长的字符串连接,您应该使用 StringBuffer 来避免构建字符串,直到您调用 toString():

StringBuffer sb = new StringBuffer();
sb.write("Hello ");
sb.write(username);
var msg = sb.toString();
于 2013-07-11T21:49:39.417 回答