当前位置: 首页 > 面试题库 >

在文件之间使用环境变量-GOPATH

庄宇
2023-03-14
问题内容

这是我第一次在Go中进行编码,而无需使用GOPATH。
我有一个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

我也使用了’LookupEnv’,它返回false。
任何帮助,将不胜感激。


问题答案:

os.Getenv()并且os.LookupEnv()不检查文件。如果您的环境变量在文件中,则必须自己加载它们。或者使用为您执行此操作的第三方库,例如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

或者,如果文件中包含env var,则可以使用以下source命令:

source sendgrid.env
./mygoapp


 类似资料:
  • 当我用它以以下错误停止: 我不是舒尔,但似乎。env文件不支持变量的使用。

  • 问题内容: 我正在做一个简单的管道: 建立- >分期->生产 我需要分期和生产不同的环境变量,所以我试图 源 变量。 但返回 未找到 路径是正确的,因为通过ssh登录时我运行相同的命令,并且工作正常。 这是管道的想法: 我该怎么办? 我正在考虑不使用管道(但是我将无法使用我的Jenkinsfile)。 或使用EnvInject插件为舞台制作和制作不同的工作(但我失去了舞台视图) 或者用env制作(

  • 问题内容: 我对全局变量的工作方式感到困惑。我有一个大型项目,大约有50个文件,并且需要为所有这些文件定义全局变量。 我所做的就是在我的项目main.py文件中定义它们,如下所示: 我尝试过的另一种方法,但也没有用 在subfile.py我里面有这个: 但是同样,它没有用。我应该如何实施呢?我知道当两个文件彼此之间并不真正了解时(子文件不知道主文件),它就不能那样工作,但是如果不使用io编写或pi

  • 问题内容: 我有以下情形:我定义了一个env变量,并想在nginx块中使用它。参考nginx文档,我在文件中使用伪指令,如下所示: 现在我想将变量用于。我尝试如下所示: 但我最终收到以下错误消息: 问题答案: 正确的用法是,但是从nginx.conf设置的环境变量不能在服务器,位置或http块中使用。 如果使用openresty包(包括Lua),则可以使用环境变量。

  • 问题内容: 我一直在阅读官方文档,但无法找到有关环境变量的任何信息。显然,有一些社区项目支持环境变量,但这对我来说可能是过大了。所以我想知道在使用Vue CLI创建的项目上是否有一些简单的开箱即用的功能可以正常工作。 例如,我可以看到,如果执行以下操作,则会打印出正确的环境,这意味着已经设置好了吗? 我对环境变量和Node有点陌生。 仅供参考,使用Vue CLI 3.0 beta版。 问题答案:

  • 最佳实践最好在values.yaml文件中定义环境变量还是在templates/deployment.yaml放入中定义环境变量? 如果有您使用的示例应用程序,您能提供帮助吗?