常量与变量的区别就在于,常量赋值后是不能再次被赋值的。因此常量是不可变的,而且数据类型只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。其余的与变量差不多(声明,赋值等操作)
一、常量声明与赋值
常量的声明格式为:const 关键字(变量名) 类型
1.1 声明单个常量
package main
import "fmt"
func main() {
// 声明常量同时赋值
const AGE int = 21 // 一般定义常量时,关键字都使用大写的。
fmt.Println(AGE)
const NAME string = "傻笑zz"
fmt.Println(NAME)
}
执行结果:
21
傻笑zz
1.2 声明多个常量
package main
import "fmt"
func main() {
// 声明多个常量(不带类型,自动倒推变量类型)
const NAME, AGE = "傻笑zz", 21
fmt.Printf("NAME常量类型为=%T,值为=%v\n", NAME, NAME)
fmt.Printf("AGE常量类型为=%T,值为=%v\n", AGE, AGE)
// 声明多个常量(使用括号)
const (
HIGHT float64 = 1.81
GENDER string = "男"
)
fmt.Printf("HIGHT常量类型为=%T,值为=%v\n", HIGHT, HIGHT)
fmt.Printf("GENDER常量类型为=%T,值为=%v\n", GENDER, GENDER)
}
执行结果:
NAME常量类型为=string,值为=傻笑zz
AGE常量类型为=int,值为=21
HIGHT常量类型为=float64,值为=1.81
GENDER常量类型为=string,值为=男
二、定义枚举
枚举的意思即为:列举,将所有的情况都列举出来
package main
import "fmt"
func main() {
// 定义枚举(枚举的意思即为:列举,将所有的情况都列举出来)
// 当A=100时,B和C自动加iota,将自动加1
const (
A = iota + 100
B
C
)
fmt.Printf("A=%d\nB=%d\nC=%d\n", A, B, C)
// 使用枚举自动计数(默认从0开始)
const (
AA = iota
BB
CC
DD
)
fmt.Printf("AA=%d\nBB=%d\nCC=%d\nDD=%d\n", AA, BB, CC, DD)
}
执行结果:
A=100
B=101
C=102
AA=0
BB=1
CC=2
DD=3