在 Go 的世界中,組織程式碼可能是一項艱鉅的任務。循環匯入和未匯出類型很容易導致挫折感。使用資料庫時出現的關鍵問題之一是:是否有必要呼叫資料庫連接的 Close() 方法?
在 Go 中,資料庫連線通常透過database/sql 包處理。當使用 sql.Open() 函數開啟連線時,會建立一個空閒連線池。這個池由資料庫連接本身管理,允許多個goroutine並發使用。
根據Go官方資料庫文件/sql package:
「傳回的DB 對於多個goroutine 並發使用是安全的,並維護自己的空閒連接池。因此,Open 函數應該只呼叫一次。當程式退出時,連線會自動關閉。
何時關閉資料庫連接
要關閉連接,可以使用CloseDB()可以在應用程式套件中匯出函數:
然後可以在下列情況下呼叫此函數desired:結論
以上是你應該在 Go 的 Database/sql 套件中呼叫 db.Close() 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!