2017-09-13 22 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

不幸的是我不能删除这个问题 - 请忽略。谢谢。 –