Go 常量

Go 常量

如果一个变量应该有一个不能更改的固定值,则可以使用 const 关键字。

const 关键字将变量声明为“常量”,这意味着它是不可更改的并且只读的

语法

const CONSTNAME type = value

注意:在声明常量时必须为其赋值。

声明常量

下面是在 Go 中声明常量的示例:

实例

package main
import ("fmt")

const PI = 3.14

func main() {
  fmt.Println(PI)
}

亲自试一试

常量规则

  • 常量名称遵循与变量相同的命名规则
  • 常量名称通常以大写字母书写(以便于识别和与变量区分)
  • 常量既可以在函数内部声明,也可以在函数外部声明

常量类型

常量有两种类型:

  • 有类型常量
  • 无类型常量

有类型常量

有类型常量是使用已定义的类型声明的:

实例

package main
import ("fmt")

const A int = 1

func main() {
  fmt.Println(A)
}

亲自试一试

无类型常量

无类型常量是在没有类型的情况下声明的:

实例

package main
import ("fmt")

const A = 1

func main() {
  fmt.Println(A)
}

亲自试一试

注意:在这种情况下,常量的类型是根据值推断出来的(这意味着编译器会根据值来决定常量的类型)。

常量:不可更改且只读

当声明常量时,以后就不可能更改该值:

实例

package main
import ("fmt")

func main() {
  const A = 1
  A = 2
  fmt.Println(A)
}

结果:

./prog.go:8:7: cannot assign to A

亲自试一试

多个常量声明

为了提高可读性,可以将多个常量组合在一起成为一个块:

实例

package main
import ("fmt")

const (
  A int = 1
  B = 3.14
  C = "Hi!"
)

func main() {
  fmt.Println(A)
  fmt.Println(B)
  fmt.Println(C)
}

亲自试一试