Skor bawah dalam Penyata Import: Meneroka Kesan Sampingan
Dalam pengaturcaraan, garis bawah di hadapan pernyataan import berfungsi untuk tujuan tertentu. Pertimbangkan coretan kod ini daripada go-sqlite3:
import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "log" "os" )
Di sini, garis bawah di hadapan pernyataan import untuk "github.com/mattn/go-sqlite3" menimbulkan persoalan: Apakah fungsinya maksudnya?
Maksud dan Tujuan
garis bawah dalam pernyataan import menandakan mengimport pakej semata-mata untuk kesan sampingannya, tanpa mengimport fungsi atau pembolehubahnya. Mengikut Spesifikasi Go:
To import a package solely for its side-effects (initialization), use the blank identifier as explicit package name: import _ "lib/math"
Dalam Konteks go-sqlite3
Dalam kes go-sqlite3, import garis bawah mempunyai sisi khusus- kesan. Ia mendaftarkan pemacu sqlite3 sebagai pemacu pangkalan data. Ini dilakukan dalam fungsi init() pakej, yang dilaksanakan semasa pemulaan pakej.
sql.Register("sqlite3", &SQLiteDriver{})
Mendaftarkan pemacu membolehkan anda menggunakan sqlite3 dengan antara muka sql perpustakaan standard:
db, err := sql.Open("sqlite3", "./foo.db")
Atas ialah kandungan terperinci Apakah Maksud Garis bawah dalam Penyata Import Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!