什么是“:=”呢?

我见过:=在几个代码示例中使用,但从来没有附带的解释。 如果不知道正确的名称,就不可能使用它。

它有什么作用?

http://en.wikipedia.org/wiki/Equals_sign#In_computer_programming

在计算机编程语言中,等号通常表示用于testing数值相等的布尔运算符(例如,在Pascal或Eiffel中),这符合math中符号的使用或者赋值运算符(例如类似C语言)。 做出前一种select的语言通常使用冒号等于(:=)或≔来表示其赋值运算符。 做出后一种select的语言经常使用一个双等号(==)来表示它们的布尔相等运算符。

注意:我通过searchcolon equals operatorfind了这个

它是Pascal中的赋值运算符 ,经常用于certificate和伪代码。 在C语言中与C =相同。

历史上,计算机科学论文使用=平等比较和作业。 帕斯卡使用:=代表难以左右的箭头。 C去了一个不同的方向,而是决定了===运算符。

在静态types语言中, Go :=是初始化和分配的一个步骤。 这样做是为了允许以编译语言进行解释式创buildvariables。

 // Creates and assigns answer := 42 // Creates and assigns var answer = 42 

有些语言使用:=作为赋值运算符。

编程语言世界以外的另一种解释来自Wolfram Mathworld等:

如果A和B根据定义是相同的(即A定义为B),那么它被象征性地写为A = B,A:= B,或者有时候A≜B。

http://mathworld.wolfram.com/Defined.html

https://math.stackexchange.com/questions/182101/appropriate-notation-equiv-versus

这是赋值运算符的旧(pascal)语法。 它会像这样使用:

 a := 45; 

它也可能是其他语言,可能也是类似的用法。

在许多CS书籍中,它被用作赋值运算符,以区别于相等运算符= 。 在许多高级语言中,虽然赋值是=并且等于==

在Algol及其后代,如Pascal和Ada中使用Colon-equals,因为它与ASCII一样接近左箭头符号。

使用C语言开始使用等于赋值和双等于比较的奇怪的惯例。

在Prolog中,赋值和平等testing之间没有区别。