



和Python、Ruby等动态脚本语言不同,Go语言沿袭了静态编译型语言的传统: 使用变量之前需要先进行变量的声明 。
这里大致列一下Go语言常见的变量声明形式:
var a int32
var s string = "hello"
var i = 13
n := 17
var (
crlf = []byte("\r\n")
colonSpace = []byte(": ")
)
如果让Go语言的设计者重新设计一次变量声明语法,相信他们很大可能不会再给予Gopher这么大的变量声明灵活性,但目前这一切都无法改变。对于以面向工程著称且以解决规模化问题为目标的Go语言, Gopher在变量声明形式的选择上应尽量保持项目范围内一致 。
Go语言有两类变量。
下面来分别说明实现这两类变量在声明形式选择上保持一致性的一些最佳实践。