变量声明类型
变量声明可以包含初始值,每个变量对应一个。
1 | var i, j int = 1, 2 |
变量省略类型
如果初始化值已存在,则可以省略类型;变量会从初始值中获得类型。
1 | var i, j = 1, 2 //也可以编译通过 |
函数内声明变量
在函数级别也可以声明变量
1 | func TestVarInitialize(t *testing.T) { |
输出:1 2 true false no!
多变量一起声明
1 | func TestMultiVarInit(t *testing.T) { |
变量在函数外部声明注意点
函数外的每个语句都必须以关键字开始(var, func 等等), := 结构不能在函数外使用
1 | var m = 2 |
在函数中,简洁赋值语句 := 可在类型明确的地方代替 var 声明。
1 | func TestShortVarInitialize(t *testing.T) { |
var 声明结构体类型
1 | type Response struct { |
变量交换
go中两个相同类型变量交换可以直接在一句代码上完成,如下所示:
1 | func TestExchange(t *testing.T) { |
Go与Java声明变量的区别
- java中声明变量时类型在变量名的左侧,而Go中在变量名右侧:
- java中声明变量必须以分号结束,而Go中不需要分号
- java中基础类型变量必须初始化才能使用,而Go中会默认初始化
未完待续…