GO——var & :=

var

功能:变量声明

声明变量并赋值。
可通过go内部的类型判断,自动推断出变量类型,即隐式类型声明
若不明确赋值,则会对变量赋其对应类型的默认值,即默认赋值
可同时对同类型的多变量同时赋值,即平行赋值

适用范围

可声明全局变量局部变量

用法示例

var foo int = 1              //foo == 1, type: int  显式类型声明 & 显式赋值
var foo int                  //foo == 0, type: int  显式类型声明 & 默认赋值
var foo = 1                  //foo == 1, type: int  隐式类型声明 & 显式赋值

var foo, bar int = 1, 2      //foo == 1, type: int  bar == 2, type: int  平行赋值 & 显式类型声明 & 显式赋值
var foo, bar int             //foo == 0, type: int  bar == 0, type: int  平行赋值 & 显式类型声明 & 默认赋值
var foo, bar = 1, 2          //foo == 1, type: int  bar == 2, type: int  平行赋值 & 隐式类型声明 & 显式赋值

//其他数据类型示例
type Structer struct{
	A int
	B string
}
var bar Structer  //bar == {A:0 B:}, type: Structer  完全等价于:var bar Structer = Structer{}     

:=

功能:短变量声明

声明局部变量并赋值。
不可指定变量类型。
必须显式赋值。
可同时对同类型的多变量同时赋值。

适用范围

只能于函数内部创建局部变量

用法示例

func myFunc() {
	foo1 := 1          //foo1 == 1, type: int  隐式类型声明 & 显式赋值
	foo2, bar2 := 1, 2 //foo2 == 1, type: int  bar2 == 2, type: int  平行赋值 & 隐式类型声明 & 显式赋值

	//其他数据类型示例
	bar3 := Structer{} //bar == {A:0 B:}, type: Structer
	fmt.Println(foo1, foo2, bar2, bar3)
}

type Structer struct {
	A int
	B string
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值