i3.article.fd.t_s800x600g5M00090CChMkJ1i_q3SIEaYpAAFx5nC1JYUAAajPgBWNG8AAXH-553.jpg

godotenv加载

package main

import (
  "fmt"
  "log"
  "os"

  "github.com/joho/godotenv"
)

func main() {
  err := godotenv.Load()
  if err != nil {
    log.Fatal(err)
  }

  fmt.Println("hello: ", os.Getenv("hello"))
}

在可执行程序相同目录下,添加一个.env文件:

#hello=world1
hello = world

自动加载

package main

import (
  "fmt"
  "os"

  _ "github.com/joho/godotenv/autoload"
)

//代码中没有显式用到godotenv库,需要使用空导入,即导入时包名前添加一个_
func main() {
  fmt.Println("hello: ", os.Getenv("hello"))
}

加载自定义文件

package main

import (
  "fmt"
  "log"
  "os"

  "github.com/joho/godotenv"
)

func main() {
  err := godotenv.Load("base.yaml", "dev.yaml")
  if err != nil {
    log.Fatal(err)
  }

  fmt.Println("hello: ", os.Getenv("hello"))
  fmt.Println("world: ", os.Getenv("world"))
}

base.yaml文件内容:

hello: hello

dev.yaml:

world: worlddev

prod.yaml:

world: worldprod

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code