規則
常量的數據類型只能是以下幾種:
- 布爾型
- 數字型(整數型、浮點型和複數)
- 字符串型
一般形式
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
}
歡迎大家關注下個人的「公衆號」:獨醉貪歡