发出defer依赖于顺序的多个语句,或者延迟打包逻辑的匿名函数是否更安全或更惯用?
例子:
defer os.Remove(tempFile.Name())
defer tempFile.Close()
在上述情况下,语法最少,但延迟的顺序与要执行的逻辑相反。
在下面的情况下,有更多行,更多“语法”,但逻辑顺序更自然:
defer func() {
tempFile.Close()
os.Remove(tempFile.Name())
}()
使用哪一种?
心有法竹
海绵宝宝撒
相关分类