Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menambah Kaedah Tersuai pada Jenis Sedia Ada dalam Go?
Apabila bekerja dengan jenis sedia ada dalam Go, keperluan mungkin timbul untuk melanjutkannya dengan kaedah tersuai untuk meningkatkan kefungsian. Walau bagaimanapun, seperti yang ditunjukkan oleh kod sampel yang disediakan, penambahan kaedah secara langsung kepada jenis bukan tempatan adalah dilarang.
Untuk mengatasi pengehadan ini, terdapat dua pendekatan yang perlu dipertimbangkan:
1. Mentakrifkan Jenis Pembungkus:
Contoh:
type MyRouter struct { mux.Router // Anonymous field } func (m *MyRouter) F() { ... } r := &MyRouter{origRouter} r.F()
2. Membenamkan Jenis Asal:
Contoh:
type MyRouter struct { *mux.Router // Embedded field } func (m *MyRouter) F() { ... } router := &MyRouter{origRouter} router.F()
Kedua-dua pendekatan membolehkan anda melanjutkan jenis sedia ada tanpa mengubah suai pakej asal. Dengan mencipta jenis baharu atau membenamkan jenis asal, anda boleh menentukan kaedah tambahan yang boleh beroperasi pada tika jenis tersuai anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Kaedah Tersuai pada Jenis Sedia Ada dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!