在我的 Go 程序中,有一些配置值我希望在程序执行期间保持不变,但我希望能够在部署站点进行更改。据我所知,没有办法用const
关键字来实现这一点,因为(再次,据我所知)它的值必须是在compile time指定的常量。这意味着实现我想要的唯一方法是声明普通变量并在包的init
函数期间初始化它们。并不是说这不起作用,而是现在没有任何东西可以阻止这些伪常数的值发生变化。
我的两个问题是:
- 我是否遗漏了一些关于如何
const
工作的东西? - 假设我不是,处理这个问题的首选方法是什么?一个公共函数,它返回一个我从不公开、从不更改的私有变量?只是希望人们不要更改变量,因为它们实际上是配置设置?