Golang中变量的范围

时间:2018-09-23 00:44:20

标签: function go scope

我正在尝试在golang中运行一个函数,但出现一些错误。谁能帮忙。

v

但是我遇到了错误。

func exportVal(name string, value string){
    var ops = isWindows()
    if ops == true{
        set name=value
        fmt.Printf("name=")

    }else{
        export name=value
        fmt.Printf("name=")
   }
}

2 个答案:

答案 0 :(得分:1)

setexport不是Go keywords。也许您在考虑外壳?看来您正在尝试设置和导出环境变量。

您不能将环境变量从一个进程导出到另一个进程。您只能更改自己的流程环境。子进程将继承父进程的环境,但是您不能采用其他方法。您只能在shell程序中执行此操作,因为该“程序”实际上是对shell本身的一组命令,只有在使用source something.sh时才可以。相反,sh something.sh在新的Shell进程中运行。

如果要从非Shell程序“导出”数据,则必须以某种格式打印数据,JSON是一个不错的选择,并且可以由其他进程读取

答案 1 :(得分:-1)

Go不支持export关键字。

您是否要创建具有全局作用域的变量?

var foo string

func SetFoo(to string) {
    foo = to
}

还是您要设置环境变量?在这种情况下,请使用os.Setenv(key, value)