いろいろ備忘録日記

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

Goメモ-391 (環境変数周りのメモ-6)(os.Setenv, 現在のプロセス内で環境変数を設定)

関連記事

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

概要

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

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

今回はos.Setenv 。現在のプロセス内で環境変数を設定します。既に存在する環境変数に対して os.Setenv() した場合はそのプロセス内で値が上書きされます。

サンプル

package osop

import (
    "os"

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

// Setenv は、os.Setenv() のサンプルです。
//
// 既に存在する環境変数に対して os.Setenv() した場合は
// そのプロセス内で値が上書きされる。
//
// # REFERENCES
//
//   - https://pkg.go.dev/os@go1.22.0#Setenv
func Setenv() error {
    var err error

    err = os.Setenv("MYENV1", "HELLOWORLD")
    if err != nil {
        return err
    }

    output.Stdoutl("[MYENV1]", os.Getenv("MYENV1"))

    err = os.Setenv("HOSTNAME", "HELLOWORLD")
    if err != nil {
        return err
    }

    output.Stdoutl("[HOSTNAME]", os.Getenv("HOSTNAME"))

    return nil

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

      ENTER EXAMPLE NAME: osop_setenv

      [Name] "osop_setenv"
      [MYENV1]             HELLOWORLD
      [HOSTNAME]           HELLOWORLD


      [Elapsed] 61.65µs
   */

}

参考情報

Goのおすすめ書籍


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

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