📜  常量 – Go 语言(1)

📅  最后修改于: 2023-12-03 15:09:46.397000             🧑  作者: Mango

常量 - Go语言

Go语言中的常量是在程序运行期间不会改变的值。在Go语言中,常量使用 const 关键字来定义。

const identifier [type] = value

其中,identifier 是常量的名称,type 是常量的类型(可选),value 是常量的值。在定义常量时,必须为 value 指定一个常量表达式。

常量表达式

常量表达式是指在编译时就可以计算出结果的表达式。常量表达式可以包含:

  • 字面值
  • 枚举常量
  • 其他常量
  • 内置函数

常量表达式的计算过程和常规表达式不同,常量表达式的运算结果是一个常量。

以下是一些常见的常量表达式示例:

const Pi float64 = 3.14159265358979323846
const a = 1 << 3           // 8
const b = 'a' + 3          // 100
const s = "Hello, " + "Go" // "Hello, Go"
示例

以下是一个使用常量的示例:

package main

import "fmt"

func main() {
	const a int = 10
	const b string = "Hello, Go"

	fmt.Println(a)
	fmt.Println(b)
}

输出结果为:

10
Hello, Go
枚举常量

枚举常量是一系列相关的常量的集合。在Go语言中,我们可以使用 iota 关键字来定义枚举常量。

关于 iota 关键字的用法,我们可以看下面的示例:

package main

import "fmt"

const (
	Monday = iota + 1
	Tuesday
	Wednesday
	Thursday
	Friday
	Saturday
	Sunday
)

func main() {
	fmt.Println(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)
}

输出结果为:

1 2 3 4 5 6 7

此处 iota 的值从 0 开始计数,每个枚举值都会自动向上递增 1,并且可以省略当前枚举值的赋值表达式。在上面的例子中,我们通过 iota + 1 来指定枚举值的初始值为 1

总结

常量是 Go 语言中的一种不可变的值,在程序运行期间不会改变。在定义常量时,必须为其指定一个常量表达式。常量表达式是可以在编译时计算出结果的表达式。除此之外,Go语言还提供了 iota 关键字来定义枚举常量。