2017-09-13 3 views
0

私はこのコードが「価値」golang os.Setenv、os.Getenv

package main 
import (
    "fmt" 
    "os" 
) 

func main() { 
    os.Setenv("key","value") 
    fmt.Printf("value is:%s", os.Getenv("key")) 
} 

コンテキスト印刷されない理由を理解したいと思います:unittestの中で環境変数を設定します。

+2

['os.Setenv()'](https://golang.org/pkg/os/#Setenv)はエラーを返します。エラーを省略しないでください(少なくとも印刷できます)。 – icza

+0

go1.7.6 Centosでは、このコードはうまく動作し、 "値"を出力します – Vorsprung

+0

申し訳ありませんが、問題を再現することはできません。残念ながら私は質問を削除できません。それはここにとどまり、無関係でなければなりません。 –

答えて

1

this sampleによるとうまくいくはずです。

私のマシン上であなたのコードを試してみましたが、それは完全に動作します(1.8のMacOSで動く)。問題が他のどこかにある可能性があります。古いバージョンのソースコードを実行していますが、新しいバージョンはコンパイルされません。

+0

うーん、今それは働く..たぶん私のユニットテストに関連するものがあったのだろうか?問題を再現できない場合は、質問を削除します。 –

+0

残念ながら私は質問を削除できません - 無視してください。ありがとう。 –