【问题标题】:Dart operator + doesn't work飞镖运算符 + 不起作用
【发布时间】:2013-07-10 08:19:14
【问题描述】:

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

抽象字符串运算符 +(String other)

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

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

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

我是不是对操作符有误解?

【问题讨论】:

    标签: string dart operator-keyword


    【解决方案1】:

    有一段时间,字符串的 + 运算符被删除了。不过,这件事最近又被带回来了。确保您使用的 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();
    

    【讨论】:

      【解决方案2】:

      您运行的是哪个版本的 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
      

      【讨论】:

      • Dart 编辑器版本 0.3.5_r18300 Dart SDK 版本 0.3.5.1_r18300 。你觉得我需要更新吗?以及如何检查 VM 版本?谢谢! :)
      • 古代?我几个月前才下载的...! (好吧,我猜这意味着古老)。好的,现在我有了 r24898,并且: A. 我无法执行任何操作(看起来它陷入了无限循环) - 它仅适用于现代操作系统吗? B. 我的旧程序突然充满了错误......我认为飞镖现在应该是“稳定的”!
      • 几个月前在 Dartland 是古老的 :) Dart 核心库现在是稳定的,但对于您拥有的版本而言并非如此。另外,其他库也不稳定,用了很有可能坏掉。
      • 感谢@PixelElephant。当前版本的 Dart 是否只能在现代操作系统上运行?因为我在 XP 上更新了 Dart(是的...:P),但似乎没有任何效果(甚至最简单的 print("hello world") 代码也没有),并且由于其他库不稳定,我没有想尝试在其他(较新)计算机上更新它...
      • Dart Editor download page 表示仅支持 Windows Vista、7 或 8,因此您可能无法使用 XP。
      猜你喜欢
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 2022-10-23
      • 2019-10-24
      • 2020-03-03
      • 1970-01-01
      • 2021-10-31
      相关资源
      最近更新 更多