Go-变量声明(全局变量-短变量-匿名变量)

目录

普通声明变量

短变量声明

匿名变量


首先我们要了解Go语言的变量命名规则:

变量由字母、数字、下划线组成(首个字符不能为数字--关键字与保留字不能做为变量名)

Go语言中在同一个作用域中的变量命名是不能重复的

(声明变量的时候建议不要手动声明数据类型,因为Go语言会通过数据推导来知道这条数据属于什么数据类型)

我们常见的普通命令方式有以下俩种:


普通声明变量

var num int = 10
var num2 = 10

我们输出一下:

func main() {
	var num int = 10
	var num2 = 20
	fmt.Println(num, num2)
}
//10 20

我们看到了,可以一次性输出俩个变量数据,那么可不可以一次性定义俩个变量?

当然可以--go语言可以一次定义多个变量:

func main() {
	var num, num2 = 10, 20
	fmt.Println(num, num2)
	var str, str2 string = "Hello", "World"
	fmt.Println(str, str2)
}

那么问题又来了,我们现在想一次声明多个数据类型不一样的变量,那么我们应该怎么做呢?

func main() {
	var (
		username string = "小蜗"
		age      int    = 22
		hobby    string = "打代码"
	)
	fmt.Println(username, age, hobby)
}

开篇不是说不推荐书写数据类型吗?不写数据类型可以吗?

func main() {
	var (
		username = "小蜗"
		age      = 22
		hobby    = "打代码"
	)
	fmt.Println(username, age, hobby)
}

sure


短变量声明

什么是短变量,我想我们通过字面意思就知道了---"短!简便!"

没错,简单到我们甚至使用冒号就可以声明变量:

语法:变量名 := 数据

func main() {
	username := "张三"
	fmt.Println(username)
}

不过短变量有一个需要注意的点---只能在当前函数作用域中使用,不能作为全局变量

很有效的改善了变量的环境污染

假如我们现在再main作用域外声明一个num变量,会报错的--提醒我们不能在全局中声明短变量

 而var可以:

 我们的短变量同样可以一次声明多个变量:

func main() {
	username, age, hobby := "张三", 22, "打代码"
	fmt.Println(username, age, hobby)
}


匿名变量

在使用多重赋值的时候,如果我们想要忽略某一个数据,我们可以使用匿名变量

语法:_

匿名函数是不会分配占据内存空间的,所以匿名变量之间是不存在重复声明的问题

现在我们接收并输出了getUsers方法中返回的俩个值:

 如果我们只想要username值,不想要age值,我们需要怎么做?

接收的时候只接收一个值吗?

 报错了,并不可行

我们可以使用匿名函数:

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Try Tomato

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值