Bahasa pengaturcaraan Go membolehkan anda mengimport pakej semata-mata untuk kesan sampingannya, seperti memulakan sumber luaran. Ini dicapai dengan menggunakan pengecam kosong sebagai nama pakej.
Satu kes penggunaan praktikal untuk mengimport dengan pengecam kosong ialah apabila memulakan pemacu pangkalan data. Sebagai contoh, katakan anda ingin menggunakan pemacu github.com/mattn/go-sqlite3 dalam program Go anda. Anda boleh mencapai ini tanpa menggunakan mana-mana fungsi eksport pemacu secara eksplisit dengan mengimportnya dengan sintaks berikut:
import _ "github.com/mattn/go-sqlite3"
Pernyataan import ini mencetuskan permulaan pemacu go-sqlite3. Fungsi init pemacu, ditakrifkan seperti berikut:
func init() { sql.Register("sqlite3", &SQLiteDriver{}) }
dilaksanakan apabila pakej diimport. Fungsi ini mendaftarkan pemacu sqlite3 dengan pakej sql, menjadikannya tersedia untuk digunakan oleh program anda.
Import dengan pengecam kosong berfungsi kerana fungsi init. Setiap fail sumber dalam pakej Go boleh menentukan fungsi initnya sendiri, yang dilaksanakan sebelum sebarang kod lain dalam pakej. Ini membenarkan pemulaan sumber luaran tanpa memerlukan panggilan fungsi eksplisit.
Apabila pakej diimport dengan pengecam kosong, fungsi initnya masih dilaksanakan. Ini membolehkan kesan sampingan seperti permulaan sumber tanpa memperkenalkan pembolehubah atau fungsi yang tidak diperlukan ke dalam ruang nama pakej pengimport.
Atas ialah kandungan terperinci Bilakah Anda Perlu Mengimport Pakej Go untuk Kesan Sampingan Sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!