Pengaturcaraan generik membolehkan penciptaan kod yang boleh berfungsi dengan pelbagai jenis data. Dalam Go, ini dicapai melalui parameter jenis. Satu kes penggunaan biasa untuk generik adalah dalam antara muka, yang mentakrifkan satu set kaedah yang mesti dilaksanakan oleh jenis.
Apabila cuba mencipta antara muka generik, seperti antara muka lelaran, anda mungkin menghadapi ralat yang berkaitan dengan fungsi atau parameter jenis kaedah. Untuk menentukan antara muka generik, parameter jenis hendaklah dinyatakan pada jenis antara muka itu sendiri, bukan pada kaedah individu dalam antara muka.
Berikut ialah contoh pelaksanaan yang betul antara muka lelaran generik:
type Iterator[T any] interface { ForEachRemaining(action func(T) error) error // other methods }
Dalam badan antara muka, anda boleh menggunakan parameter jenis T sebagai mana-mana parameter jenis lain dalam kaedah.
Berikut ialah yang lebih terperinci pecahan:
type MyIterator[T any] struct { // Implementation details } func (it *MyIterator[T]) ForEachRemaining(action func(T) error) error { // Implementation details }
Dengan menyatakan parameter jenis pada jenis antara muka dan menggunakannya dalam kaedah antara muka, anda boleh mencipta antara muka generik yang boleh berfungsi dengan pelbagai jenis data, menyediakan asas yang fleksibel untuk membina kod yang mantap dan boleh diguna semula dalam Go.
Atas ialah kandungan terperinci Bagaimanakah Saya Mentakrifkan Antara Muka Generik dengan Betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!