今天简单学习了一下golang的变量声明,个人感觉自由度很高,有点像js和java的结合版本,和我一起看看吧~
目录
声明规则
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的一般形式是使用 var 关键字
声明变量类型
方法一
通过var声明变量a并确定类型为int型
// 方法一:声明一个变量 默认的值是0
var a int
fmt.Println("a = ", a)
fmt.Printf("type of a = %T\n", a)
方法二
在方法一的基础上进行变量初始化
// 方法二:声明一个变量,初始化一个值
var b int = 100
fmt.Println("b = ", b)
fmt.Printf("type of b = %T\n", b)
方法三
不标识变量类型,通过自动匹配确定变量类型
// 方法三: 在初始化的时候,可以省去数据类型,通过值自动匹配当前的变量数据类型
var c = 100
fmt.Println("c = ", c)
fmt.Printf("type of c = %T\n", c)
方法四
省去变量声明var,通过:=来声明变量,推荐使用该方法声明变量
// 方法四:(常用的方法) 省去var 直接自动匹配
e := 100
fmt.Printf("type of e= %T\n", e)
f := "abcd"
fmt.Printf("type of f= %T\n", f)
全局变量声明
全局变量除方法四之外的声明方法均可使用
多变量声明
当变量类型一致时,可以通过下面代码进行多变量声明
var xx, yy int = 100, 200
fmt.Println(xx, yy)
当变量类型不一致时可以通过自动匹配也就是不标识变量类型来声明变量,代码如下:
var kk, ll = 100, "Abcd"
fmt.Println(kk, ll)
为了避免自动匹配类型错误也可以用下面的方式声明:
var (
vv int = 100
jj bool = true
)
fmt.Println(vv, jj)
运行结果
这个本文中用到的全部代码运行结果,输出了各种声明后的变量类型
总结
在变量声明中个人更喜欢方法四也就是使用赋值运算符(:=)来进行变量声明,这样更加方便看起来也没有那么乱,学习Vue和Java之后再学习golang的话感觉有点结合版的感觉,但是go又像一个特别有个性的小朋友,只是相似但是不同。哈哈哈以上都是本人个人理解,纯属废话,如有不对的地方期待纠正。