美文网首页
go语言陷阱之四:Short Variable Declarat

go语言陷阱之四:Short Variable Declarat

作者: wu_sphinx | 来源:发表于2015-05-19 23:46 被阅读115次

姑且译为短量的声明只能是在函数体内吧,听起来有点怪怪的感觉,一如既往地,先来看代码:

package main

myvar := 1 //error

func main() {  
}
运行结果:
# command-line-arguments
./hello_world.go:3: non-declaration statement outside function body

go不允许variable := something这种变量的赋值出现在函数体外,但是这种是可以的:

package main

var myvar = 1 

func main() {
}

这两种赋值方式有何不同呢?
":=" 是在声明和初始化变量,因此该变量必须是第一次出现, 声明和赋值必须是一气呵成的,不能写成先声明后赋值这种形式,这个必须在函数体内才行。
而var 这种变量声明模式在使用范围上就没有这么严格的限制了,这一点与javascript比较相似。
mark!

相关文章

网友评论

      本文标题:go语言陷阱之四:Short Variable Declarat

      本文链接:https://www.haomeiwen.com/subject/hkplqttx.html