go系列六:Constants

Golang
369
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)编译失败并出错