前言
本人主学的Java网络安全方向,但是参加实习后(安全研究工程师),发现大多数需求来自python和go,Java也有但是很少,公司更愿意接受会go的帅小伙,所以打算每天拿出一个小时来学习一下go语言。
常量
相对于变量,常量就是不会变的量。定义之后不能修改。
常量的关键字const。
const pi = 3.1415926
批量声明:
const (
status = 200
notfound = 404
)
批量声明常量时,如果某一行没有写值,默认和上一行一致
const (
n1 = 100
n2
n3
)
func main() {
//pi = 123
fmt.Println("n1:", n1)
fmt.Println("n2:", n2)
fmt.Println("n3:", n3)
}
iota
iota是golang中的常量计数器,只能在常量表达式中使用。
- iota在const出现时会被定义为0
- const每新增一行常量声明将会使iota计数一次
//iota
const (
a1 = iota //0
a2 //1
a3 //2
)
func main() {
//pi = 123
fmt.Println("n1:", n1)
fmt.Println("n2:", n2)
fmt.Println("n3:", n3)
fmt.Println("a1:", a1)
fmt.Println("a2:", a2)
fmt.Println("a3:", a3)
}
iota功能类似于枚举。
定义数量级
//定义数量级
const (
_ = iota
KB = 1 << (10 * iota)//1024
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)