规则
常量的数据类型只能是以下几种:
- 布尔型
- 数字型(整数型、浮点型和复数)
- 字符串型
一般形式
package main
func main(){
//常量声明符号 + 变量名 + 数据类型
const first int = 520
println("first:", first)
}
package main
func main(){
//常量声明符号 + 变量名
//会自动推断数据类型
const first = 520
println("first:", first)
}
作为枚举的形式
package main
func main(){
//显示的声明
/*
const(
Monday int = 1
Tuesday int = 2
Wednesday int = 3
)
*/
//隐式的声明,会自动推断数据类型
const(
Monday = 1
Tuesday = 2
Wednesday = 3
)
fmt.Println("Monday:", Monday) // 1
fmt.Println("Tuesday:", Tuesday) // 2
fmt.Println("Wednesday:", Wednesday) // 3
}
特殊常量 iota
注:iota 的初始化为 0, 每一行都会增加1,也就是" iota = iota + 1"
package main
import "fmt"
func main(){
const(
Monday = 1 + iota
Tuesday
Wednesday
)
fmt.Println("Monday:", Monday) // 1
fmt.Println("Tuesday:", Tuesday) // 2
fmt.Println("Wednesday:", Wednesday) // 3
}
直接在每个常量后面赋值 iota
package main
import "fmt"
func main(){
const(
Monday = 1 + iota
Tuesday = iota
Wednesday = iota
)
fmt.Println("Monday:", Monday) // 1 因为 iota 在这为0,本身又加1,所以为1
fmt.Println("Tuesday:", Tuesday) // 1 iota 在这为1
fmt.Println("Wednesday:", Wednesday) // 2 iota 在这为2
}
常量的一些小错误点
不能重新被赋值
package main
import "fmt"
func main(){
const first int = 520
fmt.Println("first:", first)
//这里出现错误提示:Cannot assign to first「不能分配给 first」
first = 1314
}
欢迎大家关注下个人的「公众号」:独醉贪欢