一尘不染

Go语言的赋值运算符

go

最近我在玩Google的新编程语言Go

并想知道为什么赋值运算符:=在等号前面有一个冒号= ?语言的作者为什么要使用name := "John"而不是name = "John"


阅读 277

收藏
2020-07-02

共1个答案

一尘不染

:=符号既用作声明,又用作初始化。

foo := "bar"

相当于

var foo = "bar"

foo = "bar"您可能会问,为什么不像只使用任何脚本语言一样使用?好吧,那是为了避免错别字。

foo = "bar"
fooo = "baz" + foo + "baz"   // Oops, is fooo a new variable or did I mean 'foo' ?
2020-07-02