变量
变量声明的通用形式:
var name type = expression
其中type和expression,可省略其一。省略type,变量类型由expression决定。省略expression,变量的值是该类型的零值,对于接口和引用类型(slice、指针、map、通道、函数)是nil。对于数组或结构体,是对应成员类型的零值。
短变量声明:
name := expression
主要用在局部变量的声明和初始化中。局部变量,var用于后面才对变量赋值的情况。
容易忽视且重要的地方,短变量声明至少声明一个新变量,例如:
in, err := os.Open(infile)
out, err := os.Create(outfile)
错误情况:
f, err := os.Open(infile)
f, err := os.Create(outfile) //编译错误:没有新的变量