@adamhand
2019-01-30T16:57:14.000000Z
字数 500
阅读 730
可以使用var关键字定义变量,语法如下:
var name type = exception
type和exception可以省略一个。如果type省略,变量类型将有exception决定,叫做“类型推断”;如果exception省略,那么初始值对应于类型的零值:
还可以使用简短模式定义变量:
name := exception
但是有些限制:
简短模式并不总是重新定义变量,也可能是部分退化的赋值操作:
func main(){
x := 100;
x, y := 200, "abc" //仅有y是变量定义
}
退化赋值的前提条件是:最少有一个新变量被定义,且必须是同一作用域。下面的做法是错误的;
func main(){
x := 100
{
x, y := 200, 300 //不同作用域
}
}
上述两种声明方法均支持多变量赋值:
func main(){
x, y := 100, 300
x, y = y+3, x+2 //先计算出右值,然后再赋值给x, y
}