3 回答
TA贡献1811条经验 获得超5个赞
完成您要执行的操作的一种方法是在 init() 函数中处理环境变量,因此可以使用以下方法:
package main
import (
"fmt"
"os"
"strconv"
)
var (
myvar string = os.Getenv("MYVAR")
myvarbool bool
)
func init() {
myvarbool, _ = strconv.ParseBool(myvar)
}
// Utility function to check for value
func mycheck() {
if myvarbool {
fmt.Print("MYVAR is true")
}
}
TA贡献1789条经验 获得超10个赞
我不确定您遇到了什么问题,您的 OP 代码有效,您也可以将其放在一行中,例如:
var myvarbool, _ = strconv.ParseBool(os.Getenv("MYVAR"))
TA贡献1833条经验 获得超4个赞
在实际考虑了几分钟之后,我意识到我可以创建一个包装函数来完成这项工作,然后调用它(同样,主要是伪代码,无需额外检查):
var myenvbool bool = myenv("MYVAR")
func myenv(envvar string) bool {
myenvvalue := os.Getenv(envvar)
myenvbool, _ := strconv.ParseBool(myenvvalue)
return myenvbool
}
func checkenv() {
if myenvbool {
fmt.Print("myenvbool is true")
}
}
- 3 回答
- 0 关注
- 172 浏览
添加回答
举报