📅  最后修改于: 2023-12-03 15:09:46.397000             🧑  作者: Mango
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
关键字来定义枚举常量。