飞镖中的两个点 (..)

Two dots in dart (..)

我正在阅读 Flame 游戏引擎中的示例游戏代码。

代码:

MyGame() {
  add(Square()
    ..x = 100
    ..y = 100);
}

这是存储库中的代码(第 59-63 行):https://github.com/flame-engine/flame/blob/master/example/lib/main.dart

我之前看过这个符号,但我一直不明白 (..x..y) 是什么意思。

这里的..代表什么?

这在 Dart 中称为级联运算符(它实际上不是运算符,只是 Dart 语法糖的一部分),而不是像 . 那样只设置值,它还 returns 你正在处理的对象。

所以由于add这里要一个Component,所以先创建Square(这是一个组件)然后x设置为100和returns一样square 然后 y 被设置为 100 和 returns 同样的 square 然后被发送到 add.

https://dart.dev/guides/language/language-tour#cascade-notation-