Dart 从常量字符串声明常量字符串 const字符串IP_地址=”http://192.168.1.103:8088/"; 常量字符串HOME_预期=IP_地址+“index.html”;

Dart 从常量字符串声明常量字符串 const字符串IP_地址=”http://192.168.1.103:8088/"; 常量字符串HOME_预期=IP_地址+“index.html”;,dart,Dart,此代码从Dart编辑器返回意外错误消息。 应为'num'类型的表达式 为什么?我怎样才能修好它 我尝试使用“final”、“final const”和static。但是失败了:(我不知道这种语言“Dart”,但看看语言描述,使用“const”无法实现您想要的: 对于要成为编译时常量的变量,请使用const。如果const变量位于类级别,请将其标记为static const。(实例变量不能是const。)在声明变量时,将该值设置为编译时常量,例如文字、常量变量或对常量数进行算术运算的结果 第二个变

此代码从Dart编辑器返回意外错误消息。
应为'num'类型的表达式
为什么?我怎样才能修好它


我尝试使用“final”、“final const”和static。但是失败了:(

我不知道这种语言“Dart”,但看看语言描述,使用“const”无法实现您想要的:

对于要成为编译时常量的变量,请使用const。如果const变量位于类级别,请将其标记为static const。(实例变量不能是const。)在声明变量时,将该值设置为编译时常量,例如文字、常量变量或对常量数进行算术运算的结果

第二个变量声明不是一个文本,不是对另一个常量变量的简单赋值,也不是这样的算术运算


来源:

更新

所以String+String是一个常量(已经有一段时间了)。String*int不是,也不应该是

我创造

原创

在Dart中,构造常量的方式非常有限。字符串上的
+
运算符未列入创建常量的白名单

请尝试以下方法:

const String HOME_EXPECTED=“${IP_ADDRESS}index.html”;

final String HOME\u EXPECTED=IP\u ADDRESS+“index.html”;

如果不需要常量。

它们(快速启动并运行)不正确:布尔表达式上也允许使用逻辑和条件表达式,常量表达式上也允许使用相等表达式。例如,这是有效的常量
const f=((0xff&1==0)和&true | |(1+1!=2))?0:1;
这是VM中的一个bug。一个月前,我在dart2js~中承诺支持它:在最近的版本中修复了它。