cod*_*boy 8

您可以defer使用一长串方法调用,但只有最后一个函数调用会被推迟,所有其他调用将立即使用该defer语句进行评估。

func foo() {
   defer A().B().C().D().E().F().G().H()
   // Only call to H() is deferred and all other function calls must be 
   // evaluated immediately to reach H.
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅Effective Go