Kaedah Antara Muka dengan Jenis Pulangan Antara Muka di Golang
Melaksanakan kaedah antara muka dengan jenis pulangan antara muka boleh menyebabkan ralat jika pelaksanaan tidak mematuhi kontrak antara muka.
Dalam kod yang disediakan, antara muka IA mentakrifkan kaedah FB yang mengembalikan IB antara muka. Walau bagaimanapun, pelaksanaan dalam struct A mengembalikan jenis *B dan bukannya IB. Untuk menyelesaikan ralat ini, cuma tukar jenis pemulangan dalam pelaksanaan kaedah FB kepada IB:
func (a *A) FB() IB { return a.b }
Sekarang, struct A melaksanakan antara muka IA dengan betul, dan kod akan disusun tanpa ralat.
Mengenai mentakrifkan antara muka dalam pakej yang berasingan, adalah mungkin dan amalan biasa. Dalam kes sedemikian, anda boleh mengimport pakej di mana antara muka IB ditakrifkan dan menggunakannya sebagai jenis pulangan untuk kaedah FB dalam pelaksanaan anda. Pernyataan import akan kelihatan seperti:
import "package_where_IB_is_defined"
Dan pelaksanaan dalam struct A ialah:
func (a *A) FB() package_where_IB_is_defined.IB { return a.b }
Pendekatan ini membolehkan anda berkongsi antara muka merentas pelbagai pakej, mempromosikan kebolehgunaan semula kod dan modulariti.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Jenis Pengembalian Kaedah Antara Muka di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!