Menemui Kaedah dalam Pakej Go
Dalam Go, seperti yang anda perhatikan pada minggu pertama anda, tiada mekanisme langsung untuk mengulang secara dinamik melalui kaedah pakej. Tidak seperti bahasa seperti Python, Go tidak mengintrospeksi kandungan pakej.
Keputusan reka bentuk ini berpunca daripada proses penyusunan ketat Go, yang hanya menyimpan fungsi dan pembolehubah yang dirujuk secara eksplisit dalam boleh laku. Sebarang fungsi atau pembolehubah yang tidak digunakan akan dibuang pada masa penyusunan. Akibatnya, mengulangi set simbol yang mungkin tidak lengkap menjadi tidak bermakna dan tidak dilaksanakan.
Pendekatan Alternatif
Untuk memintas pengehadan ini, pertimbangkan untuk mencipta tatasusunan yang mengandungi objek jenis yang anda ingin kendalikan. Sebagai contoh, dalam senario kalkulator anda, anda boleh mentakrifkan tatasusunan:
var calculators = []*calculator.Calc{&calculator.Add{}, &calculator.Sub{}, &calculator.Mult{}, ...}
Anda kemudiannya boleh lelaran melalui tatasusunan ini, memanggil kaedah Pertama dan Kedua pada setiap kalkulator.Calc objek. Walaupun pendekatan ini mungkin kelihatan sedikit bertele-tele, ia membolehkan anda mengulangi set lengkap kaedah yang diketahui oleh program anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Melalui Kaedah dalam Pakej Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!