関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。
環境変数を扱うときは結構あるのですが、いつも godotenv とかで済ませているので、標準ライブラリを使ったやり方をよく忘れてしまっているので、ここに自分用にメモを残しておくことにしました。どんなプログラム言語でも標準ライブラリをしっかりと理解して扱えることが大事。
今回はos.ExpandEnv
。現在の環境変数の値に従って、文字列中の ${var}
または $var
を置き換えます。未定義の変数への参照は空文字列に置き換えられます。
サンプル
package osop import ( "os" "github.com/devlights/gomy/output" ) // ExpandEnv は、os.ExpandEnv() のサンプルです。 // // ExpandEnv は、現在の環境変数の値に従って、文字列中の ${var} または $var を置き換えます。 // 未定義の変数への参照は空文字列に置き換えられます。 // // 戻り値は string で、error は返らない。 // // # REFERENCES // // - https://pkg.go.dev/os@go1.22.0#ExpandEnv func ExpandEnv() error { var ( env1 = os.ExpandEnv("${HOME}") // ${VAL}形式 env2 = os.ExpandEnv("$SONZAISHINAI") // $VAL形式 env3 = os.ExpandEnv("home is ${HOME}, hostname is ${HOSTNAME}") ) output.Stdoutf("[env1]", "%q\n", env1) output.Stdoutf("[env2]", "%q\n", env2) output.Stdoutf("[env3]", "%q\n", env3) return nil /* $ task task: [build] go build . task: [run] ./try-golang -onetime ENTER EXAMPLE NAME: osop_expandenv [Name] "osop_expandenv" [env1] "/home/gitpod" [env2] "" [env3] "home is /home/gitpod, hostname is devlights-trygolang-96ahwfwl0rp" [Elapsed] 33.6µs */ }
参考情報
Goのおすすめ書籍
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。