在 Go 程式設計世界中,導入語句前面的底線字元 ( _ ) 具有特定的意義。讓我們探討一下它的意義和用法。
導入語句中的下劃線 (_ ) 表示導入該包只是為了其副作用。它不會從套件中匯入任何函數、方法或變數。
一些 Go 套件具有初始化函數(通常名為 init() ),它們在以下情況下執行操作:套件已匯入。這些操作可以包括註冊自訂資料庫驅動程式、初始化全域變數或設定日誌記錄。
要導入包的副作用而不是其他任何內容,下劃線標識符是在導入語句中用作顯式包名稱。例如,考慮 go-sqlite3:
import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "log" "os" )
在本例中,「github.com/mattn/go-sqlite3」的下劃線匯入將 sqlite3 驅動程式註冊到標準 sql 函式庫。這使您能夠在程式碼中使用 sqlite3 作為資料庫連接,而無需從該套件匯入任何函數。
對於go-sqlite3,以下初始化程式碼導入套件時執行:
sql.Register("sqlite3", &SQLiteDriver{})
這個註冊允許你可以像這樣使用sqlite3:
db, err := sql.Open("sqlite3", "./foo.db")
下劃線導入語句在Go 中,有一種導入包的便捷方法,只是為了解決它的副作用。它們允許您利用套件初始化例程,而無需明確匯入函數或變數。透過了解下劃線匯入的目的和用法,您可以有效地管理 Go 專案中的套件依賴關係和副作用。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3