【Golang】变量

声明变量一般用var关键字 var identifier type

Go与许多编程语言不同,它在声明变量是把变量类型放在变量名称之后,Golang为什么选择这么做?

  1. 首先是为了避免像C语言那种含糊不清的声明形式
    1. 例如 int* a,b;在这个例子中a是指针b不是。如果你想要这两个变量都是指针,则需要将他们分开书写而在Golang中则可以很轻松地把它们都声明为指针
    2. var a,b *int
  2. 其次这种语法能够从左向右的顺序、阅读使代码更容易理解

var a int
var b bool
var str string
//也可以改写成
var(
    a int
    b bool
    str  string
)
//这种因式分解的写法一般用于声明全局变量

当一个变量被声明以后,系统会自动赋予它该类型的零值:int为0 ,float为0.0,bool为false,string为"",指针为nil。记住所有内存在Go中都是经过初始化的。

变量命名规则驼峰

但是你的全局变量希望能够被外部包所使用,则需要将首单词的首字母也大写。

自动推断类型

不是什么时候都适用的,如果你想要给变量的值并不是自动推断出的类型,你需要显示指定变量类型

var n int64 =2

!然鹅var a 这种语法是不正确的,因为编译器没有任何可以用于自动推断类型的依据,变量的类型也可以在运行时实现自动推断:

var(
    HOME=os.Getenv("HOME")
    USER=os.Getenv("USER")
    GOROOT=os.Getenv("GOROOT")
)

上面的有var的声明写法主要是用于声明包级别的全局变量,当你在函数体内声明局部变量时,应用简短声明语法:=,例如:

a:=1

这种方法只能用在函数体能不可以用于全局变量的声明与复制

不允许声明但是不使用

但是全局变量var声明的变量允许

//多变量使用
var a,b,c int
a,b,c=5,7,"abc"
a,b,c:=5,7,"abc"
//!如果你想要交换两个变量的值可以简单的使用
a,b=b,a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值