でこのコードgo-sqlite3 から:
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
"log"
"os"
)
文中の下線はどういうimport
意味ですか?
ベストアンサー1
副作用のためだけにパッケージをインポートするためのものです。
からGo仕様:
副作用(初期化)のみを目的としてパッケージをインポートするには、空白明示的なパッケージ名としての識別子:
import _ "lib/math"
sqlite3の場合
の場合go-sqlite3アンダースコアのインポートは、他の関数をインポートせずに、関数sqlite3
内でドライバーをデータベース ドライバーとして登録するという副作用のために使用されます。init()
sql.Register("sqlite3", &SQLiteDriver{})
sql
このように登録すると、次の例のように、コード内で標準ライブラリのインターフェースを使用して sqlite3 を使用できるようになります。
db, err := sql.Open("sqlite3", "./foo.db")