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

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

Mary-Kate Olsen
發布: 2024-12-24 14:43:10
原創
890 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板