常量表示运行时恒定不可改变的值,通常是一些字面量。使用常量就可用一个易于阅读理解的标识符号来代替“魔法数字”,也使得在调整常量值时,无须修改所有引用代码。
在开发过程中一般会定义大量的常量,来便于使用。例如状态码、错误信息等等。使用常量而不是字面量的一个好处是,如果需要修改只需要修改一处即可,不用每个使用点都修改。
Go 语言中的常量使用关键字 const 定义,用于存储不会改变的数据,常量是在编译时被创建的,即使定义在函数内部也是如此,并且只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。由于编译时的限制,定义常量的表达式必须为能被编译器求值的常量表达式。
常量的定义格式和变量的声明语法类似:const name [type] = value
const weight int = 100
在 Go 语言中,你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。
- 显式类型定义: const name string = "mengaily"
- 隐式类型定义: const name = "mengaily"
常量的值必须是能够在编译时就能够确定的,可以在其赋值表达式中涉及计算过程,但是所有用于计算的值必须在编译期间就能获得。
和变量声明一样,可以批量声明多个常量
const (
e = 2.7182818
pi = 3.1415926
)