那两个点是什么意思? 1和2有什么区别?

时间:2018-11-04 01:13:54

标签: dart flutter

我看过很多使用点的教程,而有些使用了2。这的实际含义是什么?

示例

Array().add()

Animation()..addListener(() {})

2 个答案:

答案 0 :(得分:7)

..运算符是“飞镖”级联运算符。当您不关心返回值时,对链接操作很有用。 这也是对始终返回this

的可链接函数的有效解决方案

被做成以下

final foo = Foo()
 ..first()
 ..second();

严格等于此:

final foo = Foo();
foo.first():
foo.second();

答案 1 :(得分:0)

只是个傻瓜,..实际上不是Dart的运算符,只是Dart语法糖的一部分。

除了提到的使用级联来链接对函数的调用之外,您还可以使用它来访问同一对象上的字段。

请考虑以下代码,该代码取自Dart文档:

querySelector('#confirm') // Get an object.
  ..text = 'Confirm' // Use its members.
  ..classes.add('important')
  ..onClick.listen((e) => window.alert('Confirmed!'));

第一个方法调用querySelector()返回选择器对象。级联符号后面的代码在此选择器对象上运行,而忽略了可能返回的任何后续值。

有关级联的更多信息,请查看Dart的outstanding documentation