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 // _代表变量名

匿名变量可以不使用。

相关推荐
xiangyun613 分钟前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
Bs_MoneyMagnet36 分钟前
基于springboot+vue的心理咨询预约与随访平台的设计与实现 源码+文档
vue.js·spring boot·后端·spring·毕业设计·旅游·计算机毕业设计
IT_陈寒1 小时前
Vue的响应式更新把我坑惨了,原来问题出在这
前端·人工智能·后端
白远山1 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
DevRay2 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
陌シ未央ゞ2 小时前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
第五页的你2 小时前
SpringBoot基础设施配置(Redis序列化,JJWT新版)
后端
吃饱了得干活2 小时前
RabbitMQ 原理解析(下):存储、集群与可靠投递
后端·rabbitmq
free-elcmacom2 小时前
C++学习<1>程序分区
开发语言·c++
醉颜凉2 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言