gpt4 book ai didi

go - 使用完包后强制调用 Close()

转载 作者:IT王子 更新时间:2023-10-29 02:22:15 26 4
gpt4 key购买 nike

我正在用 go 编写一个包来创建与 Kafka 的连接。

我在包中主文件的 init() 函数中创建连接。在使用包的程序停止后,我想调用一个名为 Close()

的函数

有没有办法在包级别强制执行它,而不是将此责任交给用户?

假设连接应该在用户程序的整个运行过程中可用,我不想每次都初始化它。

最佳答案

对于几乎任何资源(连接也不异常(exception)),用户应该在使用后调用函数将资源返回给系统。大多数用户跨语言和架构都理解这一点,所以我不明白为什么你的包用户应该有任何顾虑。 Go 通过包含 defer 语句非常优雅地解决了这个问题,这使得释放资源变得非常容易。

关于go - 使用完包后强制调用 Close(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42526950/

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