这篇文章指出:“defer 语句将函数调用推送到列表中。” 我想知道我是否可以从程序中的另一个地方访问该列表中的元素,然后调用它们?我可以多次调用它们吗?我假设我有一个对具有延迟行为的函数的引用(如果有帮助)。
所以,这是我想要做的一个简短的例子:
func main {
doStuff = func() {
// open database connections
// write temporary files
// etc...
defer func() {
// close database connections
// delete temporary files
// etc...
}()
}
AwesomeApplication(doStuff)
}
func AwesomeApplication(doStuff func()) {
// Now, can I get a reference to the defer function within `doStuff`?
// No, I can't just define the defer function somewhere an pass it
// with `doStuff`. Think of this as a curiosity I want to satisfy,
// not a real use case.
}
HUH函数
相关分类