function - golang中变量的范围

标签 function go scope

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

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=")
   }
}

但是我遇到了以下错误。

D:\Go>go run octa.go
# command-line-arguments
.\octa.go:42:10: syntax error: unexpected name at end of statement
.\octa.go:46:13: syntax error: unexpected name at end of statement

最佳答案

setexport 不是Go keywords .也许你在想 shell?您似乎正在尝试设置和导出环境变量。

您不能将环境变量从一个进程导出到另一个进程。您只能更改自己的流程环境。子进程会继承父进程的环境,但你不能反过来。您只能在 shell 程序中执行此操作,因为该“程序”实际上是 shell 本身的一组命令,并且只有在使用 source something.sh 时才会这样做。 .相比之下,sh something.sh 是在一个新的 shell 进程中运行的。

如果您想从非 shell 程序“导出”数据,则必须以某种格式打印数据,JSON是一个不错的选择,并让其他进程读取它。

关于function - golang中变量的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462032/

相关文章:

javascript - 变量范围的问题 (JavaScript)

python - 使用特定经度和纬度计算距离时的值域误差

javascript - 为什么jQuery只在部分链接进入函数?

javascript - 在里面声明函数属性

function - Powershell CommandNotFoundException

inheritance - golang 关注点分离与可用性

go - 分配给结构成员时“无法分配给”

arrays - 将 slice 作为引用传递以反射(reflect)调用者的变化

javascript - knockout 嵌套对象范围未定义引用

javascript - 如何阻止变量在 JavaScript 中按 F5 时被破坏