gpt4 book ai didi

go - defer 的可能用例是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 03:47:30 30 4
gpt4 key购买 nike

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

例如,而不是这样写:

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

我可以这样写:

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

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

最佳答案

延迟函数总是会被执行,即使是在 panic 或 return 语句之后。

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

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

关于go - defer 的可能用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55888988/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com