在我的 Go 程序中,有些配置值我希望在程序执行期间保持不变,但我希望能够在部署站点更改。据我所知,没有办法用const关键字来实现这一点,因为(同样,据我所知)它的值必须是在编译时指定的常量。这意味着实现我想要的唯一方法是声明普通变量并在包的init函数期间初始化它们。并不是那行不通,而是现在没有什么可以阻止这些伪常量的值发生变化。
我的两个问题是:
const工作的信息?创建一个文件“config.go”并创建要公开的变量。
不要导出它们(使它们全部小写)。相反,创建 public (大写)func来访问每个项目。
package config
var x = 10
func X() int {
return x
}
Run Code Online (Sandbox Code Playgroud)
当您需要这些变量时,您只需import ./config在代码中使用它们,如下所示:
if config.X()
Run Code Online (Sandbox Code Playgroud)
显然,你可以设置包中的变量init。