godotenv加载环境变量
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