Ada 中的 := 和 => 有什么区别?

What's the difference between := and => in Ada?

据我所知,:=似乎是通过复制进行赋值。运算符=>似乎做类似的赋值,但在将参数赋值给对象的成员变量时使用。

所以...

receivesTheCopy := isBeingCopied

memberVariable => passedParameter

我正在处理其他人的旧代码,我有一个变量达到了一个我从未见过用 := 明确分配给它的值。我在想 maybe 当它被分配给 memberVariable=> 时它是通过引用传递的,因此 passedParameter 变量与memberVariable 状态。

:= 是作业。

=> 有多种用途:

  1. 参数传递:哪个形参传递哪个参数(如果不是按顺序传递)。
  2. 记录和数组聚合:哪个字段获得哪个值。
  3. 方面:将方面名称与其分配的表达式分开。

在这两种情况下,它都与按引用传递或按值传递无关。