ホームページ > バックエンド開発 > Golang > Go でパッケージをインポートするときにアンダースコアを使用するのはなぜですか?

Go でパッケージをインポートするときにアンダースコアを使用するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-24 14:43:10
オリジナル
907 人が閲覧しました

Why Use Underscores When Importing Packages in Go?

Go での副作用のあるパッケージのインポート

go-sqlite3 ライブラリを利用するコードを調べると、次のようなインポート ステートメントに遭遇することがあります。次のように、その前にアンダースコアを付けます:

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 Initialization

go-sqlite3 の場合、このアンダースコア インポートは登録の目的を果たします。 init() 関数を通じて sqlite3 ドライバーをデータベースドライバーとして使用します。他の関数をインポートする必要はありません。 package:

sql.Register("sqlite3", &SQLiteDriver{})
ログイン後にコピー

一度登録すると、次の例に示すように、sqlite3 ドライバーを標準ライブラリの SQL インターフェイスで使用できます:

db, err := sql.Open("sqlite3", "./foo.db")
ログイン後にコピー

以上がGo でパッケージをインポートするときにアンダースコアを使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート