玩转Go语言之你不知道的常量

179 阅读2分钟

前言:

 文章内容可能需要C语言的基础知识,如果不懂C语言请自行学习,编程不懂C语言跟咸鱼有什么区别,推荐一个不错的C语言课程Link:www.it666.com/my/course/2 如果你觉得这是一条广告,请自行忽略,talk is cheap show me the code!

常量:

1.在C语言中可以通过const来定义常量

2.在Go语言中一样

3.格式:

const 变量名称 数据类型 = 值;

注意点:

1. 数据类型可以省略, 但是const不能省略

2.定义常量不能使用 := , := 是专门用于定义局部变量的

3.定义局部变量没有使用, 编译会报错, 定义全局变量和常量没有使用, 不会报错

4.在Go语言中可以连续定义多个变量, 所以也可以连续定义多个常量

格式:

const 变量名称1, 变量名称2 数据类型 = 值1, 值2;
const(
 变量名称1 数据类型 = 值1
 变量名称2 数据类型 = 值2
)

5.常量组的注意点

在常量组中, 如果常量没有赋值, 那么默认值就是上一行的取值

// 1.定义单个常量
const num int  =  666
fmt.Printf("%d\n", num)

// 2.定义多个常量
const a, b, c int  = 10, 20, 30
const a, b, c  = 10, 20, 30
const(
     a int = 10
     b int = 20
     c int = 30
)

// 3.常量组的注意点
// 在常量组中, 如果常量没有赋值, 那么默认值就是上一行的取值
const(
	a  = 666
	b  = 789
	c
)
fmt.Printf("%d, %d, %d", a, b, c)

枚举:

 1.C语言中的枚举本质就是一个整数

enum 枚举名 {
	枚举元素1 = 值,
	枚举元素2 = 值,
	……
};

2.Go语句中没有明确枚举的固定写法, 但是在企业开发中一般都会常量组的形式来表示枚举

const(
    枚举元素 = 值
    枚举元素 = 值
)

const(male = 0female = 1)

3.iota迭代器, 默认会从0开始递增

const(	male = iota	female = iota	yao = iota)

 4.只要常量组中出现了iota, 该常量组中后续的常量都会一次递增1

const(
	male = iota
	female
	yao
)

5.如果常量组中的iota被打断了, 那么就不会继续递增了, 会按照常量组的默认方式处理(上一行的值)

const(	male = iota	female = 666	yao)

  6.如果常量组中的itoa被打断了, 但是后续又被回复了, 那么前面有多少行就会递增多少

const(
	male = iota
	female = 666
	yao = iota

)