2016-09-20 44 views
0

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

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

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

+0

你不能在运行时。如果没有对它们的引用,编译器可能甚至不会在范围中包含变量。 – JimB

+0

@JimB这很有道理。谢谢! – Steve

回答

0

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