2017-09-13 21 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")) 
} 

語境:在單元測試設置環境變量。

+2

['os.Setenv()'](https://golang.org/pkg/os/#Setenv)返回錯誤。永遠不要忽略錯誤,檢查它(你至少可以打印它)。 – icza

+0

go1.7.6在Centos上,此代碼工作正常,並打印出「價值」 – Vorsprung

+0

好吧,對於困擾所有人的抱歉 - 問題無法複製,不幸的是我無法刪除問題。它將不得不留在這裏,並繼續無關緊要。 –

回答

1

根據this sample它應該工作。

我也在我的機器上試過你的代碼,它完美的工作(在macOS上運行1.8)。如果問題出現在其他地方,例如你運行的是舊版本的源代碼,而新版本不能編譯?

+0

嗯,現在它的工作..也許有一些與我的單元測試有關?如果我無法重現問題,我會刪除該問題。 –

+0

不幸的是我不能刪除這個問題 - 請忽略。謝謝。 –