Skip to main content

环境变量

定义环境变量

通过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)
}