常量的定義與變量類(lèi)似,只是需要使用 const 關(guān)鍵字。
常量可以是字符、字符串、布爾型、數(shù)字型的值。
需要注意的是,常量不可以使用 := 語(yǔ)法定義。
package main
import(
"fmt"
)
const Pi = 3.14
func main(){
const World = "厚土"
fmt.Println("Hello", World)
fmt.Println("Happy", Pi, "Day")
const Truth = true
fmt.Println("Go rules?", Truth)
}
運(yùn)行結(jié)果是
Hello 厚土
Happy 3.14 Day
Go rules? true
數(shù)值常量是高精度的 值。
未指定數(shù)據(jù)類(lèi)型的常量,由上下文來(lái)決定其類(lèi)型。
完整代碼
package main
import(
"fmt"
)
const(
Big = 1 <<100
Small = Big >> 99
)
func needInt(x int) int {
return x * 10 + 1
}
func needFloat(x float64) float64 {
return x * 0.1
}
func main(){
//fmt.Println(Big)
fmt.Println("Small is",Small)
fmt.Println("needInt Small is",needInt(Small))
fmt.Println("needFloat Small is",needFloat(Small))
fmt.Println("needFloat Big is",needFloat(Big))
//fmt.Println(needInt(Big))
}
你可以試著把主函數(shù)中的注釋符號(hào)去掉,看看效果。
你會(huì)發(fā)現(xiàn)Big超出了int的最大值邊界。