go - 打印闭包捕获的所有变量

标签 go closures

如何打印出闭包捕获的所有变量?例如:

func myScope() {
  users := GetUsers("John")
  services := GetServices("Movies")
  allVariablesString := func() string {
    return PrintAllCapturesWithoutSpecified()
  }()
}

我计划尽可能利用这个想法来记录错误范围内的任何相关值,而无需手动指定每个变量。

最佳答案

这在 Go 中是不可能的。你不能在闭包中请求你周围的环境。它可以使用,但您无法查看/阅读它。您可以做一些奇怪的事情,比如将它们放在一个结构中并查看您的结构,但是根据您所做的,这可能会变得非常困惑和不合常理。

关于go - 打印闭包捕获的所有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39601230/

相关文章:

JavaScript:理解闭包和提升

mongodb - 如何在解码 MongoDB 文档时忽略空值?

templates - Go 模板 : Are Nested Ranges Possible?

Javascript 关闭不起作用

javascript - 覆盖 javascript 函数,同时保留原始上下文

scheme - 方案/ Racket 中关闭的目的是什么?

javascript - 深入理解 Javascript 中的闭包

go - 插件和包范围的全局变量

arrays - Go中的JSON解码有符号整数数组

enums - 类型常量声明列表