3 回答

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊
完成您要執(zhí)行的操作的一種方法是在 init() 函數(shù)中處理環(huán)境變量,因此可以使用以下方法:
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貢獻(xiàn)1789條經(jīng)驗 獲得超10個贊
我不確定您遇到了什么問題,您的 OP 代碼有效,您也可以將其放在一行中,例如:
var myvarbool, _ = strconv.ParseBool(os.Getenv("MYVAR"))

TA貢獻(xiàn)1833條經(jīng)驗 獲得超4個贊
在實際考慮了幾分鐘之后,我意識到我可以創(chuàng)建一個包裝函數(shù)來完成這項工作,然后調(diào)用它(同樣,主要是偽代碼,無需額外檢查):
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 關(guān)注
- 201 瀏覽
添加回答
舉報