发出依赖于顺序的多个defer
条语句还是推迟一个封装逻辑的匿名函数是更安全还是更惯用?
例如:
defer os.Remove(tempFile.Name())
defer tempFile.Close()
在上面的情况下,语法很少,但是延迟的顺序与要执行的逻辑相反.
在下面的情况下,有更多的行,更多的"语法",但是逻辑的顺序更自然:
defer func() {
tempFile.Close()
os.Remove(tempFile.Name())
}()
你要用哪一个?