短变量声明
Contents
是什么
hello :="hello"
短变量声明(short variable declaration)是golang中声明变量的一种方式,是golang特有的语法,相比 var hello="hello"
的声明方式,可以少写一个 var
,能稍微减少代码量
特点
1. 可以重复声明
一般强类型语言的变量都不允许重复声明,在golang中使用var重复声明变量同样会抛出错误
|
|
编译时报错:a redeclared in this block
使用短变量声明时候:
|
|
example1 和 example2 中 变量a都被声明了两次,但只有example2可以编译通过。可以看到重复声明有效的前提是声明语句左边至少有一个是新变量。
同时特别注意,被重复声明的变量并没有创建多次, 只是将新的值赋予原来的变量( it just assigns a new value to the original )。example2 中 变量a的内存地址始终是同一个
同时还要注意只有在同一作用域才是重复声明,如果在不同作用域声明相同变量名,则是创建新的变量
|
|
上述 变量a 在两个不同作用域,是完全两个不同的变量
2. 只能声明在局部作用域内
不能声明在全局作用域,只能声明在局部作用域,包括函数内部,if,for,switch 语句中
|
|