希曼日记

环境变量

本页目录 3
  1. 定义环境变量
  2. 第三方库
  3. 使用

定义环境变量

通过os包的setEnv(key,value)设置环境变量

Go
func() {
os.setEnv("URI","URI=mongodb://root:msdnmm@192.168.0.152:27017")
}

第三方库

godotenv

安装

项目安装
Shell
go get github.com/joho/godotenv
全局安装

GO版本大于1.7

Shell
go install github.com/joho/godotenv@latest

使用

博客

不插入配置到环境变量

config/db.yaml

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
Go
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:

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
Go
err := godotenv.Load("config/db.yaml", "config/minio.yaml")
if err != nil {
log.Fatal(err)
}