一、常量
package main
import "fmt"
func main() {
/*
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
//const num = 666
//const num := 666 // 报错
//num = 789 // 报错
//fmt.Printf("%d\n", num)
// 2.定义多个常量
//const a, b, c int = 10, 20, 30
//const a, b, c = 10, 20, 30
//a = 666
//b = 777
//c = 888
//const(
// a int = 10
// b int = 20
// c int = 30
//)
//const(
// a = 10
// b = 20
// c = 30
//)
//a = 666
//b = 777
//c = 888
// 3.常量组的注意点
// 在常量组中, 如果常量没有赋值, 那么默认值就是上一行的取值
//const(
// a = 666
// b = 789
// c
//)
//fmt.Printf("%d, %d, %d", a, b, c)
//var(
// a, b = 10, 20
// c, d = 30, 40
//)
//fmt.Printf("%d, %d\n", a, b)
//fmt.Printf("%d, %d\n", c, d)
const(
a, b = 10, 20
c, d
)
fmt.Printf("%d, %d\n", a, b)
fmt.Printf("%d, %d\n", c, d)
}
二、枚举常量
package main
import "fmt"
func main() {
/*
1.C语言中的枚举本质就是一个整数
enum 枚举名 {
枚举元素1 = 值,
枚举元素2 = 值,
……
};
2.Go语句中没有明确枚举的固定写法, 但是在企业开发中一般都会常量组的形式来表示枚举
const(
枚举元素 = 值
枚举元素 = 值
)
*/
//const(
// male = 0
// female = 1
//)
// 注意点:
// 1.iota迭代器, 默认会从0开始递增
//const(
// male = iota
// female = iota
// yao = iota
//)
// 2.只要常量组中出现了iota, 该常量组中后续的常量都会一次递增1
//const(
// male = iota
// female
// yao
//)
// 3.如果常量组中的iota被打断了, 那么就不会继续递增了, 会按照常量组的默认方式处理(上一行的值)
//const(
// male = iota
// female = 666
// yao
//)
// 4.如果常量组中的itoa被打断了, 但是后续又被回复了, 那么前面有多少行就会递增多少
const(
male = iota
female = 666
yao = iota
)
fmt.Printf("%d\n", male)
fmt.Printf("%d\n", female)
fmt.Printf("%d\n", yao)
var num int = male
fmt.Printf("%d\n", num)
}
网友评论