[解決済み】import文の前にあるアンダースコアは何を意味するのですか?
2022-04-16 13:32:04
質問
私は見た
の例です。
sqlite3
について
GitHub
:
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
"log"
"os"
)
で、import文の前にあるアンダースコアの意味がわからないようです。
どのように解決するのですか?
簡単にお答えします。
副作用のためだけにパッケージをインポートするためのものです。
から Go仕様書 :
副作用(初期化)のみを目的としてパッケージをインポートする場合、明示的なパッケージ名として空白の識別子を使用します。
インポート _ "lib/math"。
sqlite3では
の場合
go-sqlite3
を登録する副次的な効果として、アンダースコアのインポートが使用されています。
sqlite3
ドライバをデータベースドライバとして
init()
関数をインポートすることなく、他の関数をインポートしています。
sql.Register("sqlite3", &SQLiteDriver{})
このように登録されると、sqlite3は標準ライブラリの
sql
インターフェイスを使用します。
db, err := sql.Open("sqlite3", "./foo.db")
関連
-
[解決済み] GoのHTTP基本認証
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] 億の相対的輸入
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み] Java の import 文でワイルドカードを使用することは、なぜ悪いのですか?
-
[解決済み] "require(x)" と "import x" の違いについて
-
[解決済み】ターミナルからMySQLでデータベースをインポートするには?
-
[解決済み】関数宣言の構文:関数名の前に括弧でくくられたもの
-
[解決済み】マップからキーのスライスを取得する
-
[解決済み] Goのインポート文の'.'(ドットまたはピリオド)は何をするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Goで構造体のフィールドを反復処理する
-
[解決済み] Go パッケージは log.Fatal を使うべきですか、そしてそれはいつですか?
-
GOROOT に xxx というパッケージがないというエラーが GoLand から報告される
-
go build error, error can't load package: package xxx is not in GOROOT (D:\basic_tool╱GoGoSrc╱)
-
Solve golang compile prompt dial tcp 172.217.160.113:443: connectex: 接続の試行に失敗しました
-
[解決済み] go言語でUUIDを生成する方法はありますか?
-
[解決済み] Goで2つのスライスを連結する
-
[解決済み] Goの:=と=の演算子の違い
-
[解決済み】C言語の三項演算子に相当するGoの慣用句は何ですか?
-
[解決済み】インターフェースのスライスを変換するタイプ