Dalam Go, kebolehbenamkan membolehkan anda menggunakan semula medan dan kaedah daripada satu jenis dalam jenis lain. Walau bagaimanapun, anda mempunyai pilihan untuk membenamkan dengan penunjuk atau mengikut nilai. Pilihan antara kedua-duanya boleh memberi kesan kepada tingkah laku dan kecekapan kod anda.
Apabila anda membenamkan jenis demi penuding, medan jenis terbenam itu diakses melalui penuding. Pendekatan ini berguna apabila:
Apabila anda membenamkan jenis mengikut nilai, medan jenis terbenam akan disalin ke dalam jenis benam. Ini diutamakan apabila:
Dalam contoh disediakan:
type Bitmap struct{ data [4][4]bool } type Renderer struct{ *Bitmap on uint8 off uint8 }
Membenamkan mengikut nilai biasanya lebih disukai dalam kes ini kerana:
Atas ialah kandungan terperinci Apabila Membenamkan dalam Go: Penunjuk atau Nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!