golang const 声明常量量时候,只写名字,就会自动有值?——>[批量赋值][枚举]
常量 定义
关键词: const
例子
package main
import "fmt"
func main() {
//var a int = 10
//常量的定义 一般定义常量使用大写字母
const MAX int = 10
//常量可以参与程序的计算
//b:=a+10
//常量不允许左值赋值
//a=a+10//err
//a=100//err
//const MAX = "你瞅啥"
fmt.Println(MAX)
}
批量赋值
用法
const (
b = 10
c = 20
// 批量声明的常量
// 除了第一个外其它的常量右边的初始化表达式都可以省略
// 如果省略初始化表达式则表示使用前面常量的初始化表达式,对应的常量类型也是一样的
// 所以下面 d e 都是 与 c 一样 = 20 只不过批量声明 省略了
d
e
g
)
输出:
b 10
c 20
d 20
e 20
g 20
批量声明的常量
除了第一个外其它的常量右边的初始化表达式都可以省略
如果省略初始化表达式则表示使用前面常量的初始化表达式,对应的常量类型也是一样的
所以下面 d e 都是 与 c 一样 = 20 只不过批量声明 省略了
iota 枚举(与批量声明一起用)
定义
iota枚举格式如果写在一行中值相等 如果换行值在上一行加一
例子
package main
import "fmt"
func main() {
//iota枚举
//iota枚举格式如果写在一行中值相等 如果换行值在上一行加一
//const (
// a = iota
// b, c = iota, iota
//)
//只需要对第一个进行iota赋值 后面会依次增长
//const (
// a = iota
// b
// c
// d
//)
//在定义iota枚举时可以自定义赋值
const (
a = iota
b = 10
c = 20
// 批量声明的常量
// 除了第一个外其它的常量右边的初始化表达式都可以省略
// 如果省略初始化表达式则表示使用前面常量的初始化表达式,对应的常量类型也是一样的
// 所以下面 d e 都是 与 c 一样 = 20 只不过批量声明 省略了
d
e
f = iota
g
)
//a=100//err
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
fmt.Println(e)
fmt.Println(f)
fmt.Println(g)
}
输出结果:
wcb@appledeMacBook-Pro-4 01代码 % go run 06iota枚举.go
0
10
20
20
20
5
6
防爬虫说明
禁止 学习某地爬虫,知乎爬虫,CSDN 爬虫。
本文,首发在 learnku 社区。
@author
汪春波(www.shxdledu.cn)
本作品采用《CC 协议》,转载必须注明作者和本文链接
go基础章节中有讲到过,还有定义的是自增的情况