什么是“:=”呢?
我见过:=
在几个代码示例中使用,但从来没有附带的解释。 如果不知道正确的名称,就不可能使用它。
它有什么作用?
http://en.wikipedia.org/wiki/Equals_sign#In_computer_programming
在计算机编程语言中,等号通常表示用于testing数值相等的布尔运算符(例如,在Pascal或Eiffel中),这符合math中符号的使用或者赋值运算符(例如类似C语言)。 做出前一种select的语言通常使用冒号等于(:=)或≔来表示其赋值运算符。 做出后一种select的语言经常使用一个双等号(==)来表示它们的布尔相等运算符。
注意:我通过searchcolon equals operator
find了这个
它是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之间没有区别。