那2个点是啥意思? 1和2有啥区别?

Posted

技术标签:

【中文标题】那2个点是啥意思? 1和2有啥区别?【英文标题】:What does that 2 dots mean? What is the difference between 1 and 2?那2个点是什么意思? 1和2有什么区别? 【发布时间】:2019-04-07 18:47:07 【问题描述】:

我看到很多教程都用dot,有的用2,这到底是什么意思?

例子,

Array().add()

Animation()..addListener(() )

【问题讨论】:

How do method cascades work exactly in dart?的可能重复 【参考方案1】:

.. 运算符是飞镖“级联”运算符。当您不关心返回值时,对于链接操作很有用。 这也是总是返回this的可链接函数的飞镖解决方案

以下是这样制作的

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

严格等于:

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

【讨论】:

解释得好!!!谢谢你,雷米!!感谢您花时间解释! ^ 继续努力,兄弟。 foo.first(): 应该是 foo.first();,否则谢谢!【参考方案2】:

作为一个吹毛求疵的人,.. 实际上并不是 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!

【讨论】:

以上是关于那2个点是啥意思? 1和2有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

网络中的VPN和VPDN是啥意思?有啥区别

数据库中Count是啥意思和SUM有啥区别

“OLT”、“ONU”和“PON”分别是啥意思?三者有啥区别?

openjdk是啥,libgcj是啥,它们有啥区别。

Java中的异常的捕获和抛出是啥意思,有啥区别

CAD/CAE/CAM,各自都是啥意思?有啥区别?