今回はgolangのgodotenvの使い方を解説していきます。
目次
godotenvを使ってenvファイル(環境変数)を使う
golangにはgodotenvという環境変数をプロジェクト内で使用できるライブラリがあります。
godotenvは環境変数が設定されたファイルを読み込み、その環境変数をos パッケージから取得することができます。
godotenvの使い方
まずはgo.modがあるgoのプロジェクトで以下のコマンドを実行してgodotenvパッケージをインストールします。
go get github.com/joho/godotenv
次に環境変数を設定するファイルを作成します。
仮に以下の内容の.envというファイルを作成します。
USER=user
PASSWORD=password
DATABASE=dbname
次に以下のように実装し、作成した.envファイルを読み込みます。
func main() {
err := godotenv.Load(fmt.Sprintf(".env.%s", os.Getenv("GO_ENV")))
if err != nil {
log.Fatal("Error loading .env file")
}
host := os.Getenv("USER")
dBName := os.Getenv("PASSWORD")
dBName := os.Getenv("DATABASE")
環境ごとに環境変数を分ける
開発を行っていれば、ローカル用、開発環境用、テスト用、本番用など環境によって環境変数を分けて管理したいところです。
その場合は例えば.env.local、.env.devのように名前で環境が分かるようにenvファイルを作成します。
後は以下のようにgoアプリの起動時にGO_ENVに対して環境名をenvファイルの名前に合わせてあげます。
GO_ENV=local go run main.go
これで簡単に環境ごとに環境変数を使い分けることができます。
golangをもっと詳しくなりたい方に
golang学習のために筆者が実際に受講したUdemy教材をまとめています。
あわせて読みたい


【入門】golangの学習におすすめのUdemy教材5選
これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...
golang学習のために筆者が実際に読んでおすすめしたい本をまとめています。
あわせて読みたい


【入門】golangの学習におすすめの本/書籍7選
これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。 ...