环境变量
定义环境变量
通过os
包的setEnv(key,value)
设置环境变量
func() {
os.setEnv("URI","URI=mongodb://root:[email protected]:27017")
}
第三方库
godotenv
安装
项目安装
go get github.com/joho/godotenv
全局安装
GO版本大于1.7
go install github.com/joho/godotenv@latest
使用
不插入配置到环境变量
config/db.yaml
MONGODB:
MONGODB_USERNAME: root
MONGODB_PASSWORD: msdnmm
MONGODB_DB: im
MONGODB_URL: mongodb://192.168.0.152:27017
REDIS:
REDIS_PASSWORD: msdnmm
REDIS_URL: 192.168.0.158:6379
package main
import (
"fmt"
"github.com/joho/godotenv"
"log"
"os"
)
var ENV map[string]string
func main() {
var err error
ENV, err = godotenv.Read("config/db.yaml")
if err != nil {
log.Fatal(err)
}
fmt.Println("MONGODB_USERNAME:", ENV["MONGODB_USERNAME"])
}
加载配置文件
godotenv.Load(<filepath1>
,<filepathN>
),不填参数默认为根目录的.env
示例:
config/db.yaml:
MONGODB:
MONGODB_USERNAME: root
MONGODB_PASSWORD: msdnmm
MONGODB_DB: im
MONGODB_URL: mongodb://192.168.0.152:27017
REDIS:
REDIS_PASSWORD: msdnmm
REDIS_URL: 192.168.0.158:6379
err := godotenv.Load("config/db.yaml", "config/minio.yaml")
if err != nil {
log.Fatal(err)
}