Dalam golang, anda boleh menggunakan "jenis antara muka jenis antara muka nama{nama kaedah 1 (senarai parameter 1) senarai nilai pulangan 1 nama kaedah 2 (senarai parameter 2) senarai nilai pulangan 2...}" untuk mengisytiharkan antara muka ; Apabila huruf pertama "nama kaedah" ditulis dengan huruf besar, dan apabila huruf pertama "nama jenis antara muka" juga ditulis dengan huruf besar, kaedah ini boleh diakses melalui kod di luar pakej di mana antara muka berada.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Bahasa Go bukanlah bahasa pengaturcaraan berorientasikan objek "tradisional": ia tidak mempunyai konsep kelas dan warisan.
Tetapi bahasa Go mempunyai konsep antara muka yang sangat fleksibel, yang melaluinya banyak ciri berorientasikan objek boleh dicapai. Banyak bahasa berorientasikan objek mempunyai konsep antara muka yang serupa, tetapi perkara unik tentang jenis antara muka dalam bahasa Go ialah ia memenuhi pelaksanaan tersirat. Iaitu, tidak perlu untuk mentakrifkan semua jenis antara muka yang memuaskan untuk jenis konkrit yang diberikan cukup dengan kaedah yang diperlukan.
Reka bentuk ini membolehkan anda mencipta jenis antara muka baharu yang memenuhi jenis konkrit sedia ada tanpa mengubah takrifan jenis ini apabila jenis yang kami gunakan datang daripada pakej yang bukan di bawah kawalan kami .
Jenis antara muka ialah abstraksi dan generalisasi bagi tingkah laku jenis lain kerana jenis antara muka tidak terikat kepada butiran pelaksanaan khusus, melalui abstraksi ini kami boleh menjadikan fungsi kami lebih fleksibel dan Kebolehsuaian berfungsi.
Antaramuka ialah perjanjian kerjasama yang dipersetujui oleh kedua-dua pihak. Pelaksana antara muka tidak perlu mengambil berat tentang cara antara muka akan digunakan, dan pemanggil tidak perlu mengambil berat tentang butiran pelaksanaan antara muka. Antara muka ialah jenis dan struktur abstrak yang tidak mendedahkan format, jenis dan struktur data yang terkandung.
Format pengisytiharan antara muka
Setiap jenis antara muka terdiri daripada beberapa kaedah. Kod rasmi antara muka adalah seperti berikut:
type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表1 方法名2( 参数列表2 ) 返回值列表2 … }
Penjelasan setiap bahagian:
Nama jenis antara muka: Gunakan jenis untuk mentakrifkan antara muka sebagai jenis tersuai nama. Apabila menamakan antara muka bahasa Go, er biasanya ditambah selepas perkataan Contohnya, antara muka dengan operasi menulis dipanggil Writer, antara muka dengan fungsi rentetan dipanggil Stringer, antara muka dengan fungsi penutup dipanggil Closer, dsb.
Nama kaedah: Apabila huruf pertama nama kaedah ditulis dengan huruf besar, dan huruf pertama nama jenis antara muka juga ditulis dengan huruf besar, kaedah ini boleh digunakan oleh kod di luar pakej di mana antara muka terletak akses.
Senarai parameter, senarai nilai pulangan: Nama pembolehubah parameter dalam senarai parameter dan senarai nilai pulangan boleh diabaikan, contohnya:
type writer interface{ Write([]byte) error }
Antara muka biasa dan kaedah penulisan dalam pembangunan
Banyak pakej yang disediakan oleh bahasa Go mempunyai antara muka, seperti antara muka Writer yang disediakan dalam pakej io:
type Writer interface { Write(p []byte) (n int, err error) }
Antara muka ini boleh memanggil kaedah Write() untuk menulis tatasusunan bait ([]bait), dan nilai pulangan memberitahu bilangan bait yang ditulis (n int) dan ralat yang mungkin (ralat ralat).
Begitu juga, terdapat antara muka yang memaparkan objek dalam bentuk rentetan Selagi jenis antara muka ini dilaksanakan, apabila kaedah String() dipanggil, rentetan yang sepadan dengan objek boleh. diperolehi. Ia ditakrifkan seperti berikut dalam pakej fmt:
type Stringer interface { String() string }
Antara muka Stringer digunakan dengan kerap dalam bahasa Go, dan fungsinya serupa dengan operasi ToString dalam bahasa Java atau C#.
Bilangan kaedah dalam setiap antara muka bahasa Go tidak akan terlalu banyak. Bahasa Go berharap dapat menerangkan dengan tepat fungsinya sendiri melalui antara muka, dan mengembangkan antara muka mudah kepada antara muka yang kompleks melalui pembenaman dan gabungan berbilang antara muka. Bahagian kemudian dalam bab ini menerangkan cara memanjangkan antara muka menggunakan komposisi.
[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan antara muka golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!