Sementara jawaban lain menggambarkannya sepenuhnya, untuk orang-orang "Tunjukkan Kode", ini pada dasarnya berarti: membuat variabel tingkat paket dan menjalankan init
fungsi paket itu.
Dan (jika ada) hierarki variabel tingkat paket & init
fungsi paket yang telah diimpor oleh paket ini.
Satu-satunya efek samping yang dapat dibuat suatu paket, tanpa benar-benar dipanggil, adalah dengan membuat variabel tingkat paket (publik atau pribadi) dan di dalam init
fungsinya.
Catatan : Ada trik untuk menjalankan fungsi sebelum init
fungsi genap . Kita bisa menggunakan variabel level paket untuk ini dengan menginisialisasi mereka menggunakan fungsi itu.
func theVeryFirstFunction() int {
log.Println("theVeryFirstFunction")
return 6
}
var (
Num = theVeryFirstFunction()
)
func init() { log.Println("init", Num) }