我使用的一个常见模式是:
resource.open()
defer resource.close()
有时会检查两者之间的错误,这会导致:
err := resource.open()
if err != nil{
//do error stuff and return
}
defer resource.close()
有时我会连续需要多个打开/关闭资源,导致前 5 行的变化一个接一个地重复。这种变化可能会在我的代码中逐字重复多次(我需要所有相同的资源)。
将所有这些包装在一个函数中会很棒。但是,这样做会在函数调用结束后立即关闭资源。有没有办法解决这个问题 - 要么推迟到调用堆栈的“升级”或其他方式?
Helenr
饮歌长啸
相关分类