Go基础-变量
定义变量
使用var
关键字是Go最基本的定义变量方式,与C语言不同的是Go吧变量类型放在变量后面:
//定义一个名称为"dest",类型为"type"的变量
var dest type
定义多个变量
//定义三个类型都是type的变量
var name1,name2,name3 type
定义变量并初始化值
//初始化"dest"的变量为"value"值,类型是"type"
var dest type = value
同时初始化多个变量
/**
定义三个类型是"type"的变量,并且分别初始化为相应的值
name1为v1,name2为v2,name3为v3
*/
var name1,name2,name3 type = v1,v2,v3
可能你会觉得上面这个有点繁琐,对.它确实繁琐,但是没有关系,应为Go语言的设计者也发现了,有一种写法可以让它变得简单一点,我们可以直接忽略雷西饼申明,那么上面的代码编程这样了:
/*
定义三个变量,它们分别初始化为相应的值
name1为v1,name2为v2,name3为v3
然后Go会根据其相应值的类型来帮你初始化它们
*/
var name1, name2, name3 = v1, v2, v3
上面这个还是有点繁琐,好吧继续简化:
/*
定义三个变量,它们分别初始化为相应的值
name1为v1,name2为v2,name3为v3
编译器会根据初始化的值自动推导出相应的类型
*/
name1, name2, name3 := v1, v2, v3
现在看上去是不是非常简洁了? :=
这个符号直接取代了var
和type
.这种形式叫做简短声明.不过他有一个限制,只能用在函数内部.在函数外部定义是无法编译通过的,所以一般var方式
来定义全局变量
_
(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃.在下面例子中我们将值golang
赋予b
,同时丢弃a
_,b := "golang","a"
Go对于已声明但未使用的变量会在编译阶段报错,比如下面的代码就会产生一个错误:声明了i
但未使用
package main
func main(){
var i int
}
- 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
- 本文网址:https://www.liaotaoo.cn/334.html
- 上篇文章:Go基础-常量
- 下篇文章:Typora配置七牛云图床自动上传(windows)