Go 言語の組み込みモジュールを触ってみる-環境変数の取得・設定(os.Getenv、os.Setenv)
はじめに
今回は os
パッケージに内包されている、 環境変数を取得したり、設定したりするための組み込み関数 を紹介します。
検証環境
$ uname -moi
x86_64 MacBookPro16,1 Darwin
$ go version
go version go1.16.3 darwin/amd64
インターフェイス
func Getenv(key string) string
func Setenv(key, value string) error
説明
Getenv
関数を使うと、環境変数の名前を指定して値を取得することができます。Setenv
関数を使うと、環境変数の名前と値を指定して設定することができます。
Getenv
は環境変数が設定されていないのか、値が空なのかの区別ができないため、両者を区別したい場合には LookupEnv
関数を使います。
サンプルコード
main.go
package main
import (
"log"
"os"
)
func main() {
// ログ出力フォーマットを調整
log.SetFlags(0)
// 1. 環境変数 PWD を取得
pwd := os.Getenv("PWD")
log.Println(pwd)
// 2. 環境変数 VAR1 を取得
var var1 string
var ok bool
var1 = os.Getenv("VAR1")
log.Println(var1)
var1, ok = os.LookupEnv("VAR1")
log.Println(ok)
// 3. 環境変数 VAR1 を設定→取得
err := os.Setenv("VAR1", "ABC")
if err != nil {
log.Fatal(err)
}
var1 = os.Getenv("VAR1")
log.Println(var1)
var1, ok = os.LookupEnv("VAR1")
log.Println(ok)
}
実行
$ go run main.go
/workdir
false
ABC
true
ひとこと
外部から実行環境ごとの設定の違いを注入するために、環境変数の利用は重要です。
ディスカッション
コメント一覧
まだ、コメントがありません