[关闭]
@adamhand 2019-01-30T08:57:14.000000Z 字数 500 阅读 665

golang--变量


定义

var关键字

可以使用var关键字定义变量,语法如下:

  1. var name type = exception

type和exception可以省略一个。如果type省略,变量类型将有exception决定,叫做“类型推断”;如果exception省略,那么初始值对应于类型的零值:

简短模式

还可以使用简短模式定义变量:

  1. name := exception

但是有些限制:

简短模式并不总是重新定义变量,也可能是部分退化的赋值操作:

  1. func main(){
  2. x := 100;
  3. x, y := 200, "abc" //仅有y是变量定义
  4. }

退化赋值的前提条件是:最少有一个新变量被定义,且必须是同一作用域。下面的做法是错误的;

  1. func main(){
  2. x := 100
  3. {
  4. x, y := 200, 300 //不同作用域
  5. }
  6. }

多变量赋值

上述两种声明方法均支持多变量赋值:

  1. func main(){
  2. x, y := 100, 300
  3. x, y = y+3, x+2 //先计算出右值,然后再赋值给x, y
  4. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注