=是分配。有关Go中分配的更多信息:分配
=和在变量声明中使用
:=时的细微差别
=。
Go中变量声明的一般形式是:
var name type = expression
上面的声明创建一个特定类型的变量,为其添加名称,并设置其初始值。 无论是type
或= expression
可以省略,但不能同时使用。
例如:
var x int = 1var a intvar b, c, d = 3.14, "stackoverflow", true
:=被称为
short variable declaration采取形式
name := expression
名称的类型取决于表达式的类型
请注意: :=
是声明,而是=
赋值
因此,简短的变量声明必须声明 至少一个新变量
。这意味着简短的变量声明并不一定要在其左侧声明所有变量,当其中一些变量已在同一词法块中声明后,
:=就像对这些变量的赋值一样
例如:
r := foo() // ok, declare a new variable r r, m := bar() // ok, declare a new variable m and assign r a new value r, m := bar2() //compile error: no new variables
此外,
:=可能仅出现在函数内部。在某些情况下,例如“ if”,“ for”或“ switch”语句的初始化程序,它们可用于声明局部临时变量。
更多信息:
变量声明
简短的变量声明



