希曼日记

环境变量

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

定义环境变量

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

func() {
	os.setEnv("URI","URI=mongodb://root:msdnmm@192.168.0.152: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)
}