Dart中的此关键字,字符串插值
问题描述:
Dart编辑器似乎无法识别$this.keyword
,其中keyword
是一个类的字段。该表达式位于方法上下文的函数中。但它确实承认$keyword
。令人困惑的是,为什么它不承认$this.keyword
,this
关键字应该像C#或Java一样僵化。Dart中的此关键字,字符串插值
class TryMe {
String keyword;
void hi(Function callback) {
callback(() => return '$this.keyword');
}
}
答
如果插值部分是不是你需要添加{}
callback(() => return '${this.keyword}');
答
我不知道你的代码做一个标识符,但表达,但你不知道通常使用this
来指代类字段。你可以重写代码:
class TryMe {
String keyword;
void hi(Function callback) {
callback(() => keyword);
}
}
还要注意的是使用=>
语法,当你不需要return
。
你说的对。是否有关于是否可以省略'this'关键字的文章?它是由什么机制驱动的? – sudo 2014-10-16 22:09:18
如果你写了一个变量名,如'x',并且在文本范围中没有'x'的声明,那么它总是意味着'this.x'。如果在范围内有一个声明,并且它是一个实例成员,那么它也意味着'this.x'。否则,它将引用静态/*/局部变量声明。 – lrn 2014-10-20 14:57:16