我应该在哪里关闭sql.DB?

时间:2014-09-15 23:54:11

标签: go

根据godoc

  

关闭数据库很少见,因为数据库句柄是长寿命的   许多goroutines之间共享。

除了在defer db.Close()函数中调用main之外,是否有此方法的用例?

1 个答案:

答案 0 :(得分:1)

我从不关闭数据库。将它推迟到主要可能不会受到伤害......但它也不会有任何帮助。 main的结尾是程序的结束,如果main结束,操作系统会进行清理。


编辑:

  

那么为什么我们需要在数据库/ sql包的公共API中使用它呢?

如果您不打算再次使用数据库,关闭数据库非常有用。它完成了在程序终止时完成的所有清理工作,但允许程序继续运行。