インストール
$ go get -u github.com/jteeuwen/go-bindata/...
$ go get github.com/kazuph/go-binenv
使い方
いつものように .env
をセットします。
$ cat .env
DATA="This is Data"
go-bindataを実行してください。bindata.goというファイルが生成され、Asset
というメソッドを使って、静的なファイルを取得可能になります。
$ go-bindata .env
あとはgo-binenvを使って.env
に入れたデータを取得できるようにします。
package main
import (
"fmt"
"github.com/kazuph/go-binenv"
)
func main() {
env, err := binenv.Load(Asset)
if err != nil {
fmt.Println(err)
}
fmt.Printf("%#v\n", env)
fmt.Printf("%s", env["DATA"])
}
実際に試してみましょう。
$ cd test-binenv
$ go build
$ mv test-binenv /tmp
$ cd /tmp
$ ./test-binenv
map[string]string{"DATA":"This is Data"}
This is Data
.env
が設置されてない場所でもちゃんと変数を読み込めました。
gitignoreするのも忘れずに。
$ cat <<EOF >>| .gitignore
.env
bindata.go
EOF