godotenv
要は.env
ファイル(環境変数定義)を使用するためのライブラリ
インストール
go get github.com/joho/godotenv
importに以下を追記
.go
pckage main
import "github.com/joho/godotenv"
.envファイルを作成
ディレクトリ構成は以下
.bash
/
|- .env
|- .env.example //git管理用のサンプル.env
|- server/
|- main.go
デフォルトでは普通の.env
が読み込まれるようです
.envファイル作成後に中身を記述
.env
ENV=local
DB_USER=root
DB_PASS=pass1234
DB=test_db
ちなみに.env.example
には環境ごとに代わる値は空にしておく
.envに定義した値を取得
main.go
package main
import (
"fmt"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load(fmt.Sprintf("../%s.env", os.Getenv("GO_ENV")))
if err != nil {
// .env読めなかった場合の処理
}
env := os.Getenv("ENV")
DB := os.Getenv("DB")
DBUser := os.Getenv("DB_USER")
DBPass := os.Getenv("DB_PASS")
fmt.Println(env) // local
fmt.Println(DB) // test_db
fmt.Println(DBUser) // root
fmt.Println(DBPass) // pass1234
}
実行して確認
$ go run main.go
で.envの設定が読み込まれるか確認