那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有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章