如前所述,Go 语言规范或 Go 运行时支持的 Go 中没有支持运行时常量的构造。您可以使用未导出的字段和“getter”方法模拟运行时常量,例如:package wrappertype Immutable struct { value int}func (i Immutable) Get() int { // You may choose between pointer or value receiver return i.value}func New(value int) Immutable { return Immutable{value}}您可以Immutable使用New()类似构造函数的函数创建 的值,并且包之外的任何人*wrapper都无法修改包装的int值 ( Immutable.value)。(*注意:没有人意味着没有人不接触 package unsafe,但这不算数。即使在 Java 中,您也可以final使用 Java 反射更改属性的值。)