为了账号安全,请及时绑定邮箱和手机立即绑定

跨文件使用环境变量 - GOPATH

跨文件使用环境变量 - GOPATH

Go
倚天杖 2022-04-26 14:44:02
这是我第一次在不使用 GOPATH 的情况下使用 Go 进行编码。我有一个go.mod文件。我正在尝试通过 Sendgrid 发送电子邮件;我有一个包含我的 SENDGRID_API_KEY 的文件,名为sendgrid.env.当尝试在我的main.go文件中使用密钥时,该值没有被拉出。fmt.Println(os.LookupEnv("SENDGRID_API_KEY")) // empty string fmt.Println(os.Getenv("SENDGRID_API_KEY")) // empty string我还使用了返回 false 的“LookupEnv”。任何帮助,将不胜感激。
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

os.Getenv()并且os.LookupEnv()不检查文件。如果您的环境变量在文件中,您必须自己加载它们。或者使用为您执行此操作的 3rd 方库,例如github.com/joho/godotenv,它看起来像这样:


if err := godotenv.Load("sendgrid.env"); err != nil {

    log.Fatal("Error loading sendgrid.env file")

}

另一种选择是在启动您的应用程序之前导出环境变量,例如:


export SENDGRID_API_KEY=mykey

./mygoapp

或者在一行中:


SENDGRID_API_KEY=mykey ./mygoapp

或者,如果您在文件中有环境变量,您可以使用以下source命令:


source sendgrid.env

./mygoapp


查看完整回答
反对 回复 2022-04-26
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信