登录
首页 >  Golang >  Go问答

可能用例 defer 的情景是什么?

来源:stackoverflow

时间:2024-03-06 19:18:26 258浏览 收藏

本篇文章给大家分享《可能用例 defer 的情景是什么?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

defer 关键字的实际用途是什么?

例如,不要这样写:

func main() {
    f := createfile("/tmp/defer.txt")
    defer closefile(f)
    writefile(f)
}

我可以这样写:

func main() {
    f := createFile("/tmp/defer.txt")
    writeFile(f)
    closeFile(f)
}

那么,为什么我应该使用它而不是通常放置的函数?


解决方案


即使在恐慌或返回语句之后,延迟函数也始终会被执行。

在现实世界的代码中,很多事情发生在 Open/Close 类型的调用对之间,而 defer 可以让您在源代码中将它们保持在一起,并且您不必为每个 return 语句重复 Close 调用。

去写一些真正的代码。 defer 的用处很快就会显而易见。

理论要掌握,实操不能落!以上关于《可能用例 defer 的情景是什么?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>