Repolode
caarlos0

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. 1

    go get でライブラリをインストールします

    go get github.com/caarlos0/env/v11
  2. 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 の数値は毎日更新されます。

関連プロジェクト