Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk melaksanakan antara muka golang

Bagaimana untuk melaksanakan antara muka golang

青灯夜游
Lepaskan: 2022-12-26 17:43:46
asal
5904 orang telah melayarinya

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.

Bagaimana untuk melaksanakan antara muka golang

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
    …
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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)
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan