這是我第一次在不使用 GOPATH 的情況下使用 Go 進(jìn)行編碼。我有一個(gè)go.mod文件。我正在嘗試通過 Sendgrid 發(fā)送電子郵件;我有一個(gè)包含我的 SENDGRID_API_KEY 的文件,名為sendgrid.env.當(dāng)嘗試在我的main.go文件中使用密鑰時(shí),該值沒有被拉出。fmt.Println(os.LookupEnv("SENDGRID_API_KEY")) // empty string fmt.Println(os.Getenv("SENDGRID_API_KEY")) // empty string我還使用了返回 false 的“LookupEnv”。任何幫助,將不勝感激。
1 回答

四季花海
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
os.Getenv()并且os.LookupEnv()不檢查文件。如果您的環(huán)境變量在文件中,您必須自己加載它們?;蛘呤褂脼槟鷪?zhí)行此操作的 3rd 方庫,例如github.com/joho/godotenv,它看起來像這樣:
if err := godotenv.Load("sendgrid.env"); err != nil {
log.Fatal("Error loading sendgrid.env file")
}
另一種選擇是在啟動(dòng)您的應(yīng)用程序之前導(dǎo)出環(huán)境變量,例如:
export SENDGRID_API_KEY=mykey
./mygoapp
或者在一行中:
SENDGRID_API_KEY=mykey ./mygoapp
或者,如果您在文件中有環(huán)境變量,您可以使用以下source命令:
source sendgrid.env
./mygoapp
- 1 回答
- 0 關(guān)注
- 143 瀏覽
添加回答
舉報(bào)
0/150
提交
取消