Di GO, antara muka adalah jenis yang mentakrifkan satu set tandatangan kaedah. Ia menentukan kaedah jenis yang mesti dilaksanakan, tetapi ia tidak menyediakan sebarang pelaksanaan. Antara muka di GO secara tersirat berpuas hati; Iaitu, jenis secara automatik memenuhi antara muka jika ia melaksanakan semua kaedah yang ditakrifkan oleh antara muka tersebut. Konsep ini adalah pusat kepada polimorfisme di GO, kerana ia membolehkan jenis yang berbeza untuk dirawat secara seragam jika mereka melaksanakan antara muka yang sama.
Antara muka boleh dilihat sebagai kontrak yang menjamin bahawa mana -mana jenis yang melaksanakannya akan mempunyai kaedah tertentu yang tersedia. Ini menjadikan antara muka sangat serba boleh dan berkuasa untuk menulis kod yang fleksibel dan boleh dipelihara. Di samping itu, jenis interface{}
dalam Go, juga dikenali sebagai antara muka kosong, adalah antara muka yang tidak menentukan kaedah, yang bermaksud semua jenis melaksanakannya, menjadikannya berguna untuk mengendalikan nilai jenis yang tidak diketahui.
Melaksanakan antara muka dalam GO melibatkan menentukan jenis dan memastikan bahawa jenis ini menyediakan pelaksanaan untuk semua kaedah yang ditentukan dalam antara muka. Berikut adalah proses langkah demi langkah mengenai cara melaksanakan antara muka:
Tentukan antara muka : Pertama, anda perlu menentukan antara muka. Sebagai contoh, mari kita tentukan antara muka yang dipanggil Shape
yang mempunyai Area()
:
<code class="go">type Shape interface { Area() float64 }</code>
Tentukan Jenis : Buat jenis yang anda mahu melaksanakan antara muka. Contohnya, mari kita buat Rectangle
jenis:
<code class="go">type Rectangle struct { width, height float64 }</code>
Melaksanakan kaedah antara muka : Untuk jenis Rectangle
untuk melaksanakan antara muka Shape
, ia mesti menentukan kaedah Area()
:
<code class="go">func (r Rectangle) Area() float64 { return r.width * r.height }</code>
Dengan mengikuti langkah -langkah ini, jenis Rectangle
secara automatik melaksanakan antara muka Shape
kerana ia memenuhi semua tandatangan kaedah yang ditakrifkan dalam antara muka Shape
.
Menggunakan antara muka dalam pengaturcaraan GO menawarkan beberapa manfaat utama:
Antara muka di GO digunakan secara meluas dalam pelbagai senario. Beberapa kes penggunaan biasa termasuk:
io.Reader
dan io.Writer
adalah asas dalam GO untuk mengendalikan operasi input dan output. Banyak fungsi dalam perpustakaan standard direka untuk bekerja dengan antara muka ini, yang membolehkan mereka membaca atau menulis ke pelbagai sumber (contohnya, fail, sambungan rangkaian) tanpa mengetahui jenis konkrit.net/http
GO, antara muka http.Handler
digunakan untuk menentukan pengendali HTTP. Ini membolehkan anda menulis pengendali tersuai yang melaksanakan kaedah ServeHTTP
, yang kemudiannya boleh digunakan dengan pelayan HTTP.Dengan memanfaatkan antara muka, pemaju GO boleh menulis lebih banyak kod modular, fleksibel, dan dikekalkan, yang penting untuk membina sistem perisian yang mantap.
Atas ialah kandungan terperinci Apakah antara muka dalam GO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!