caarlos0/env
構造体タグを使って環境変数を型付き構造体に読み込む、依存関係ゼロのGoライブラリです。
- スター
- 6,357
- フォーク
- 298
- 未解決の Issue
- 44
- 最終コミット
- 3 日前
これは何?
envは、環境変数から設定を読み込むためのGoライブラリです。構造体を定義し、読み込む環境変数名を`env`タグで各フィールドに指定して、ParseまたはParseAsを呼び出すと、型付きの値が構造体に設定されます。外部依存はありません。
基本的な文字列や数値のフィールドに加え、duration、URL、タイムゾーン、区切り文字を指定できるスライスやマップ、プレフィックス付きのネストした構造体、デフォルト値に対応しています。また、独自の型用にカスタムパーサーも定義できます。タグのオプションでは、必須チェックや空でないことのチェック、ファイルからの値の読み込み、変数展開、使用後の環境変数の削除を指定できます。
このライブラリは、機能がそろったv11のリリース系列です。genericsを利用したヘルパーに加え、タグ名の変更、独自の環境変数ソースの指定、値の設定処理へのフックに対応するオプションを備えています。
主な機能
- 01`env`構造体タグを使って、環境変数を構造体に読み込みます。
- 02組み込みの数値、文字列、bool、duration、URL、タイムゾーン型に対応しています。
- 03プレフィックス付きのスライス、マップ、ポインター、ネストした構造体を扱えます。
- 04必須チェック、notEmpty、ファイル読み込み、変数展開のオプションを利用できます。
- 05ユーザー定義型向けのカスタムパーサーを設定できます。
ユースケース
- Goサービスで環境変数からアプリケーション設定を読み込む。
- 起動時に必須設定がそろっていることを検証する。
- コンテナ環境や12-factor形式の設定を、型付きGo構造体に読み込む。
クイックスタート
- 1
go get でライブラリをインストールします
go get github.com/caarlos0/env/v11 - 2
env タグを付けた struct を定義し、env.Parse を呼び出して環境変数を読み込みます
使う前に知っておきたいこと
- 非公開の struct フィールドは仕様上無視されます。
トピック
よくある質問
- env とは?
- 構造体タグを使って環境変数を型付き構造体に読み込む、依存関係ゼロのGoライブラリです。 envは、環境変数から設定を読み込むためのGoライブラリです。構造体を定義し、読み込む環境変数名を`env`タグで各フィールドに指定して、ParseまたはParseAsを呼び出すと、型付きの値が構造体に設定されます。外部依存はありません。
- env は無料で使えますか?ライセンスは?
- env は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- env は今もメンテナンスされていますか?
- 活発にメンテナンス中。env の最終コミットは 2026年11月5日 です。
- env は何に使えますか?
- Goサービスで環境変数からアプリケーション設定を読み込む。 起動時に必須設定がそろっていることを検証する。 コンテナ環境や12-factor形式の設定を、型付きGo構造体に読み込む。
- env のインストール方法は?
- go get でライブラリをインストールします: go get github.com/caarlos0/env/v11 env タグを付けた struct を定義し、env.Parse を呼び出して環境変数を読み込みます
- env はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/caarlos0/env
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Ghosttyの設定を視覚的に作成し、最小限の設定ファイルとして出力できるWebツール。
依存関係なしで、.env ファイルの環境変数を process.env に読み込む Node.js モジュール。
12-factor appの考え方に沿って、.envファイルのキーと値を環境変数に読み込むPythonライブラリです。
純粋なbashで書かれた、セグメントで構成するカスタマイズ可能なPowerline風ステータスバーを追加するtmuxプラグイン。