go系列六:Constants

Golang
412
0
0
2022-10-21
标签   Golang基础

声明一个常量

特点:不可变, 在编译时需要确定

使用关键词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)编译失败并出错