首頁 >後端開發 >Golang >為什麼在 Go 中導入套件時使用下劃線?

為什麼在 Go 中導入套件時使用下劃線?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-24 14:43:10893瀏覽

Why Use Underscores When Importing Packages in Go?

在Go 中導入有副作用的套件

在檢查使用go-sqlite3 函式庫的程式碼時,可能會遇到以下內容的import語句:其前面有下劃線,類似於以下內容:

import (
        "database/sql"
        "fmt"
        _ "github.com/mattn/go-sqlite3"
        "log"
        "os"
)

下劃線的這種用法是 Go 中導入包的一種方法,只是為了解決它的副作用。如同Go 規格所述:

To import a package solely for its side-effects (initialization), use the blank identifier as explicit package name:

import _ "lib/math"

範例:go-sqlite3 初始化

對於go-sqlite3,此下劃線導入用於註冊的目的透過init( ) 函數將sqlite3驅動程式作為資料庫驅動程序,而不需要從package:

sql.Register("sqlite3", &SQLiteDriver{})

註冊後,sqlite3 驅動程式可以與標準庫的 sql 介面一起使用,如下例所示:

db, err := sql.Open("sqlite3", "./foo.db")

以上是為什麼在 Go 中導入套件時使用下劃線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn