Mengimport dengan Pengecam Kosong: Kes Penggunaan Praktikal
Bahasa pengaturcaraan Go membolehkan pakej diimport semata-mata untuk kesan sampingan permulaannya. Ini boleh dicapai dengan menggunakan pengecam kosong sebagai nama pakej eksplisit, seperti yang dilihat dalam contoh ini:
import _ "foo/bar"
Pernyataan import ini mencadangkan bahawa pakej foo/bar akan diimport untuk fungsi permulaannya, tetapi ia fungsi yang dieksport tidak akan digunakan dalam program pengimportan.
Contoh Kehidupan Sebenar: Pemacu Pangkalan Data Pendaftaran
Satu kes penggunaan praktikal untuk binaan ini terletak pada pendaftaran pemacu pangkalan data. Pakej pemacu pangkalan data selalunya mengandungi fungsi permulaan yang mendaftarkan pemacu dengan pustaka pangkalan data.
Sebagai contoh, dalam pakej go-sqlite3, fungsi init berikut mendaftarkan pemacu SQLite3:
func init() { sql.Register("sqlite3", &SQLiteDriver{}) }
Dengan mengimport go-sqlite3 dengan pengecam kosong, program pengimportan boleh mendaftarkan pemacu SQLite3 tanpa terus menggunakan mana-mana yang dieksportnya fungsi:
import _ "github.com/mattn/go-sqlite3" func main() { // Connect to a SQLite3 database using the registered driver. }
Contoh Lain Kesan Sampingan Permulaan
Fungsi permulaan juga boleh digunakan untuk:
Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Import Pengecam Kosong Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!