Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk mengisytiharkan pelbagai kekangan antara muka dalam golang?

Bagaimana untuk mengisytiharkan pelbagai kekangan antara muka dalam golang?

PHPz
PHPzke hadapan
2024-02-09 14:03:08918semak imbas

Bagaimana untuk mengisytiharkan pelbagai kekangan antara muka dalam golang?

PHP Editor Banana akan memperkenalkan kepada anda cara mengisytiharkan pelbagai kekangan antara muka dalam golang. Dalam golang, kita boleh melaksanakan pelbagai kekangan antara muka dengan menggunakan berbilang antara muka dalam perisytiharan jenis antara muka. Pendekatan ini membolehkan kami mentakrifkan antara muka dengan lebih fleksibel untuk disesuaikan dengan keperluan pelaksanaan yang berbeza. Dengan menggunakan pelbagai kekangan antara muka, kita boleh mempunyai jenis melaksanakan berbilang antara muka, dengan itu menyediakan lebih banyak fungsi dan fleksibiliti. Seterusnya, kami akan memperkenalkan secara terperinci cara mengisytiharkan beberapa kekangan antara muka dalam golang.

Kandungan soalan

Andaikan saya mempunyai dua antara muka:

interface a {...}
interface b {...}

Sekarang saya ingin menentukan fungsi yang menerima beberapa parameter antara muka a dan b (iaitu parameter melaksanakan antara muka a dan b):

func test(param a & b) {...} // any similar syntax?

Saya tidak mahu menulis antara muka baharu untuk membenamkan antara muka lain setiap kali saya mahu merujuk berbilang antara muka, seperti ini:

interface C {
  A
  B
}
func test(param C) {...} //ok with 2 interfaces, what about 3, 4 or even 9?

Saya tidak tahu bagaimana untuk menyatakan jenis persimpangan dalam golang, ada idea?

Penyelesaian

tidak boleh dilakukan dalam Go kerana ia adalah aliran kawalan samar-samar yang Go direka untuk dielakkan.

Jenis tidak diperlukan untuk melaksanakan antara muka mengikut nama, jadi cadangan saya adalah untuk mengisytiharkan antara muka tanpa nama untuk setiap parameter, yang mengandungi hanya kaedah yang anda tahu keperluan fungsi.

Atas ialah kandungan terperinci Bagaimana untuk mengisytiharkan pelbagai kekangan antara muka dalam golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam