Go速成-常量

1.常量的定义

Go语言常量,定义的值是不能进修修改的,定义常量就是const,常量定义建议全部大写

Go 复制代码
	const PI float32 = 3.1415946 //显式定义
Go 复制代码
	const (
		x int = 16
		y
		s = "abc"
		z
	)
    fmt.Print(x,y,s,z)

在定义常量的时候如果没有声明值,就会沿用上面的值,常量类型只可以定义bool,数值类型,字符串,常量没有必须使用的要求。

2iota常量的使用

2.1common

iota是Go中一个特殊的常量,其实就是一个自增的常量,可以理解为计数器默认是0开始,可以自定义

Go 复制代码
	const (
		ERR1 = iota
		ERR2
		ERR3
		ERR4
	)

	fmt.Print(ERR1,ERR2,ERR3,ERR4)

2.2special

Go 复制代码
	const (
		hello1 = iota + 1 //1
		hello2 			 //2
		hello3 = "hello" //两个字符串的值是3
		hello4
		hello5 = iota 	// 4,显示回复iota
	)
	fmt.Println(hello1,hello2,hello3,hello4,hello5)

因为hello4未声明,所以hello3==hello4所以他们两个值相同,然后iota常量的值也就相同,如果中断了iota那么也要显示的恢复,自增类型就是int,iota可以简化iota的定义。

每次const代码块出现的时候iota初始化为0,相当于const的内部变量

3匿名变量

Go 复制代码
//声明方式
	var _ int // _代表变量名

匿名变量可以不使用。

相关推荐
橙子家9 小时前
RESTful 接口:它并非标准或协议,而是一种【架构风格】
后端
小兔子10 小时前
dict.get 的默认值每次都会求值,哪怕键本来就在
后端
斯维赤10 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构
肌肉娃子10 小时前
红队攻防测试报告 — wechat-e.cfd
后端
陈随易10 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
海螺_AIHCC10 小时前
SSE 流式返回中文变问号,问题不在编码
后端
panbook10 小时前
从零实现一个时序数据库(一):用 Rust、Arrow 和 Parquet 跑通写入与 SQL 查询
后端
Zan10 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
微步AICRM10 小时前
一物一码验真的并发链路设计:码段管理、四级关联与异常判定
后端·架构
陈随易10 小时前
3000 万人在用的翻译插件,重写一遍就是一门生意
前端·后端·程序员