声明一个常量
特点:不可变, 在编译时需要确定
使用关键词const
package main
import (
"fmt"
)
func main() {
const a = 18
fmt.Println(a)
}
声明一组常量
import (
"fmt"
)
func main() {
const (
name = "zhang"
age = 18
)
fmt.Println(name)
fmt.Println(age)
}
当我们试图给一个常量赋值的时候回报错
package main
func main() {
const a = 1
a = 2 //cannot assign to a (untyped int constant 1)
}
package main
import (
"math"
)
func main() {
var a = math.Sqrt(3)
const b = math.Sqrt(3)
}
上面a 是一个变量,所以可以math.Sqrt函数赋值。
B是一个常量,在编译时需要知道B的值。函数math.Sqrt(3)只会在运行时计算,因此const b = math.Sqrt(3)编译失败并出错