如果我如下声明常量,我会得到错误‘os.Getenv("my_ret")中的常量初始值设定项不是常量’.这是为什么呢?
New to Go,我看到Getenv的返回类型是一个字符串,但我不明白为什么它不能作为常量工作.
const (
secret = os.Getenv("MY_SECRET")
key = os.Getenv("MY_KEY")
)
如果我如下声明常量,我会得到错误‘os.Getenv("my_ret")中的常量初始值设定项不是常量’.这是为什么呢?
New to Go,我看到Getenv的返回类型是一个字符串,但我不明白为什么它不能作为常量工作.
const (
secret = os.Getenv("MY_SECRET")
key = os.Getenv("MY_KEY")
)
就像错误说的,constant must have a constant value分.您不能将其设置为函数的返回.它must在编译时被判断(例如,字符串文字).如果您希望存储在运行时查找的环境变量的值,则必须将它们存储在变量中,而不是常量中.