根据godoc :
It is rare to Close a DB, as the DB handle is meant to be long-lived and shared between many goroutines.
除了在 main
函数中调用它 defer db.Close()
之外,这个方法是否有任何用例?
最佳答案
我从不关闭数据库。在 main 中推迟它可能不会有什么坏处……但它也无济于事。 main 的结尾是程序的结尾,如果 main 结束,操作系统会进行清理。
编辑:
So why we need it in public API of the database/sql package?
如果您不打算再次使用数据库,则关闭数据库很有用。它会执行所有将在程序终止时完成的清理工作,但允许程序继续运行。
关于go - 我应该在哪里关闭 sql.DB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25858663/