在Go中声明变量

时间:2014-10-15 17:23:49

标签: go variable-declaration

Go文档表明应该使用速记:

x := "Hello World" 

而不是长篇

var x string = "Hello World"

提高可读性。虽然以下工作:

package main   
import "fmt"
var x string = "Hello World"
func main() {
    fmt.Println(x)
}

这不是:

package main
import "fmt"
x := "Hello World"
func main() {
    fmt.Println(x)
}

并给出错误“函数体外的非声明语句”。如果我在函数中声明它:

package main
import "fmt"
func main() {
   x := "Hello World"
   fmt.Println(x)
}

然后它工作得很好。看来我只能在使用变量的函数中使用简写。是这样的吗?谁能告诉我为什么?

1 个答案:

答案 0 :(得分:5)

规范声明short variable declarations can only be used in functions

有了这个限制,包级别的所有内容都以关键字开头。这simpflies parsing