美文网首页
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