go语言常量

一:常量的基本用法
1.看入戏代码

const(
unknown  = 0
female = 1
male = 2
)

我们再想改里面的内容是不可以的。
如下图所示

还要注意一点:

//常量组如不指定类型和初始化值,该类型和上一行类型和值一致,就是等于上一个类型的表达式
	const (
		x int = 16
		y
		s = "abc"
		z
	)
	fmt.Println(x, y, s, z)

打印结果
16 16 abc abc
常量的数据类型只可以是数字,布尔,字符串
不使用的常量,再编译的时候不会报错

二:常量的iota
为什么要又iota的机制。
例子:以一个电商系统来讲,这个电商可能卖,phone,book,cloth,pen,等等为每个商品定义一个类别

const(
	phone = 0
	book = 1
	cloth = 2
	pen = 3
)

这些类别本身的值不重要,重要的是不能相等,假入这个商家不卖book了,改卖其他商品,那么2这个位置就空出来了,这样我们在为别的商品添加类别的时候比较麻烦,这时就引入了iota机制,如下代码

const (
		phone = iota //计数器
		book
		cloth
		pen
	)
	fmt.Println(phone, book, cloth, pen)

这里我们实际可以得到
phone = iota //计数器
book = iota
cloth = iota
pen = iota
而iota最开始为0,接下来每调用以此自动加1.

iota的基本用法到这里已经差不多了,但是应该不够,请继续下看
注意:
1.iota只能在常量组中使用
2.各个常量组之间iota是互不干扰的
3.事实:没有表达式的常量定义,复用上一行表达式
4.从第一行就开始,iota从0逐行加1,每一行iota都只会加一个
所以如下代码

const(
	a = iota
	b = 10
	c 
	d = iota
)

打印结果
0 10 10 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值