=
是作业(job).更多关于围棋任务的信息:Assignments
=
和:=
之间的细微区别在于变量声明中使用了=
.
Go中变量声明的一般形式为:
var name type = expression
上面的声明创建了一个特定类型的变量,给它附加了一个名称,并设置了它的初始值.Either the 100 or the 101 can be omitted, but not both.
例如:
var x int = 1
var a int
var b, c, d = 3.14, "stackoverflow", true
:=
被称为short variable declaration
,它的形式是
name := expression
名称的类型由表达式的类型决定
请注意:100 is a declaration, whereas 101 is an assignment
因此,简短的变量声明必须声明at least one new variable.这意味着一个简短的变量声明并不一定要声明其左侧的所有变量,当其中一些变量已经在同一个词法挡路中声明时,那么:=
就像是对这些变量的赋值
例如:
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"语句的初始值设定项,它们可以用来声明局部临时变量.
更多信息: