Golang 读取 Laravel 项目的 .env 配置文件

发布时间: 2019-10-20 15:02:18 作者: 大象笔记

例如,我的 Laravel 项目中包含了一些 Golang Gin 的服务接口,我想用 Golang 读取 Laravel 的 .env 配置文件中的 mysql 数据库账号和密码。

发现一个不错的库 GoDotEnv 可以方便的读取并解析 .env 配置文件。

GoDotEnv

https://github.com/joho/godotenv

代码示例

package main

import (
	"github.com/joho/godotenv"
	"log"
	"os"
)

func main() {
	err := godotenv.Load("../.env")
	if err != nil {
		log.Fatal("Error loading .env file")
	}
	db_database := os.Getenv("DB_DATABASE")
	db_username := os.Getenv("DB_USERNAME")
	log.Println("DATABASE: ", db_database)
	log.Println("USERNAME: ", db_username)
}

注意:

godotenv.Load 如果不指定参数,则默认读取当前目录下的 .env 文件。

而我的 Laravel .env 配置文件在 golang 项目代码的上一层目录,所以需要指定文件路径。

运行结果

$ go run main.go
2019/10/20 14:44:09 DATABASE:  sunzhongwei_com
2019/10/20 14:44:09 USERNAME:  sunzhongwei
我是一名山东烟台的开发者,联系作者