いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Goメモ-386 (環境変数周りのメモ-1)(os.Environ, 一括取得)

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。

環境変数を扱うときは結構あるのですが、いつも godotenv とかで済ませているので、標準ライブラリを使ったやり方をよく忘れてしまっているので、ここに自分用にメモを残しておくことにしました。どんなプログラム言語でも標準ライブラリをしっかりと理解して扱えることが大事。

まずは、os.Environ から。現在の環境変数を key=value で一括で取得できます。

サンプル

package osop

import (
    "os"
    "strings"

    "github.com/devlights/gomy/output"
)

// Environ は、os.Environ()のサンプルです。
//
// os.Environ() は、現在の環境変数の値を key=value 形式の文字列で返す。
// 戻り値は []string 。
//
// # REFERENCES
//
//   - https://pkg.go.dev/os@go1.22.0#Environ
func Environ() error {
    for _, env := range os.Environ() {
        var (
            kv = strings.Split(env, "=")
            k  = kv[0]
            v  = kv[1]
        )

        if !strings.HasPrefix(k, "H") {
            continue
        }

        output.Stdoutl("[env]", k, v)
    }

    return nil

    /*
      $ task
      task: [build] go build .
      task: [run] ./try-golang -onetime

      ENTER EXAMPLE NAME: osop_environ

      [Name] "osop_environ"
      [env]                HISTFILE /workspace/.gitpod/.shell_history
      [env]                HOME /home/gitpod
      [env]                HOSTNAME devlights-trygolang-q7kq6quld1n


      [Elapsed] 29.6µs
   */

}

参考情報

Goのおすすめ書籍


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。