例如,我的 Laravel 项目中包含了一些 Golang Gin 的服务接口,我想用 Golang 读取 Laravel 的 .env 配置文件中的 mysql 数据库账号和密码。
发现一个不错的库 GoDotEnv 可以方便的读取并解析 .env 配置文件。
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