打印由闭包捕获的所有变量

时间:2016-09-20 18:24:53

标签: go closures

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

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

如果可能的话,我计划利用这个想法在错误范围内记录任何涉及的值,而无需手动指定每个变量。

1 个答案:

答案 0 :(得分:0)

这在Go中是不可能的。你不能在关闭时询问你周围的环境。它可供使用,但您无法查看/阅读它。你可以做一些奇怪的事情就像把它们放在一个结构中并查看你的结构,但是根据你的工作,这可能会变得非常混乱和非惯用。