Go 中的常量:通过初始化声明常量变量
在 Go 中,常量提供在程序执行期间无法更改的常量值。要声明常量,可以使用关键字 const。但是,不允许使用函数调用初始化常量。
考虑示例:
const KILO = math.Pow10(3)
这将导致错误:“const 初始化器 math.Pow10(3) 不是常量."
为什么常量不能用函数初始化调用
常量在编译时评估,而函数调用在运行时发生。因此,不可能通过函数调用来初始化常量,因为函数调用的结果直到运行时才知道。
内置函数的异常
一些内置函数-in 函数(例如 unsafe.Sizeof())可以在常量声明中使用,因为它们可以在编译时求值。但是,大多数函数调用不能在常量声明中使用。
初始化常量的替代方法
要使用无法在编译时计算的值来初始化常量,请改用变量。例如:
var KILO = math.Pow10(3)
在这种情况下,变量 KILO 将在运行时使用 math.Pow10(3) 调用的结果进行初始化。
以上是为什么我无法通过函数调用初始化 Go 常量?的详细内容。更多信息请关注PHP中文网其他相关文章!