介绍
在开发过程中,我们需要将一些变量抽取到环境变量中进行配置。在GO开发中我们可以通过godotenv来实现这一功能。godotenv库从.env文件中读取配置,然后存储到程序的环境变量中。
使用
安装
go get github.com/joho/godotenv
文件
可执行程序相同目录下,添加一个.env文件
name = test
使用
package main
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load()
if err != nil {
log.Fatal(err)
}
fmt.Println("name=>", os.Getenv("name"))
}
输出
name=>test
扩展
自动加载
package main
import (
"fmt"
"os"
_ "github.com/joho/godotenv/autoload"
)
func main() {
fmt.Println("name: ", os.Getenv("name"))
}
加载自定义文件
package main
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load("dev.env")
if err != nil {
log.Fatal(err)
}
fmt.Println("name: ", os.Getenv("name"))
}
多个环境
创建 .env.dev,.env.prod,.env.test多个文件
package main
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
env := os.Getenv("DEV_ENV")
if env == "" {
env = "dev"
}
err := godotenv.Load(".env." + env)
if err != nil {
log.Fatal(err)
}
fmt.Println("name: ", os.Getenv("name"))
}
评论区