Golang (atau Go) ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google. Ia menyediakan pengalaman pengaturcaraan yang cekap melalui model konkurensi yang unik dan pengumpul sampah. Antara muka dan kaedah di Golang adalah salah satu konsep terasnya dan sangat penting untuk menguasai bahasa pengaturcaraan Golang.
Antaramuka ialah satu cara untuk mencapai polimorfisme. Ia mentakrifkan satu set spesifikasi untuk kod program, ia dipanggil jenis antara muka. Mereka mentakrifkan satu set kaedah tetapi tidak menyediakan pelaksanaan. Walaupun tanpa mengisytiharkan jenis antara muka tertentu secara eksplisit, program Go masih boleh menyemak sama ada sesuatu jenis memenuhi keperluan antara muka tertentu.
Di Golang, antara muka adalah sangat penting. Jika anda ingin menggunakan Golang, maka anda mesti memahami definisi dan pelaksanaan antara muka Golang. Berikut ialah beberapa contoh takrifan antara muka Golang:
package main import "fmt" type Interface1 interface { method1() string } type Interface2 interface { method2() int } type Interface3 interface { Interface1 Interface2 method3() bool } type Struct1 struct { name string } type Struct2 struct { age int } func (s1 *Struct1) method1() string { return s1.name } func (s2 *Struct2) method2() int { return s2.age } func (s3 *Struct1) method3() bool { return true } func main() { s1 := Struct1{name: "John"} s2 := Struct2{age: 30} var iInterface1 Interface1 = &s1 var iInterface2 Interface2 = &s2 var iInterface3 Interface3 = &s3 fmt.Println(iInterface1.method1()) fmt.Println(iInterface2.method2()) fmt.Println(iInterface3.method3()) }
Dalam contoh ini, kami telah mentakrifkan 3 antara muka, iaitu Interface1
, Interface2
dan Interface3
. Di mana Interface3
mewarisi Interface1
dan Interface2
. Kami juga menentukan dua struktur Struct1
dan Struct2
dan melaksanakan kaedah antara muka yang sepadan untuk mereka. Dalam fungsi main()
, kami menggunakan antara muka ini untuk memanggil kaedahnya.
Kaedah ialah fungsi yang dikaitkan dengan jenis tertentu yang boleh mengakses data jenis tersebut. Di Golang, kaedah ialah cara mengehadkan fungsi kepada jenis tertentu. Mereka boleh digunakan untuk mewakili jenis tingkah laku yang boleh dipanggil oleh objek lain. Kaedah boleh menjadi kaedah nilai atau kaedah penunjuk, bergantung pada sama ada ia mengubah suai nilai penerima.
Berikut ialah contoh definisi kaedah di Golang:
package main import "fmt" type Struct1 struct { name string } func (s1 Struct1) method1() string { return s1.name } func (s1 *Struct1) method2() { s1.name = "Jane" } func main() { s1 := Struct1{name: "John"} fmt.Println(s1.method1()) s1.method2() fmt.Println(s1.method1()) }
Dalam contoh ini, kami mentakrifkan jenis Struct1
dan dua kaedah method1()
dan method2()
. Ambil perhatian bahawa penerima method2()
ialah penunjuk kepada struktur, jadi ia boleh mengubah suai nilai struktur. Dalam fungsi main()
, kami mencipta objek Struct1
dan memanggil kedua-dua kaedah ini masing-masing.
Di Golang, antara muka juga boleh disarang seperti struktur. Sarang antara muka boleh digunakan untuk menggabungkan keupayaan berbilang antara muka. Golang juga menyediakan operator penegasan jenis untuk menukar antara muka kepada nilai jenis lain.
Berikut ialah contoh penegasan bersarang dan jenis penegasan antara muka Golang:
package main import "fmt" type Interface1 interface { method1() string } type Interface2 interface { method2() int } type Struct1 struct { name string } func (s1 *Struct1) method1() string { return s1.name } func (s1 *Struct1) method2() int { return len(s1.name) } func main() { s1 := Struct1{name: "John"} var iInterface1 Interface1 = &s1 var iInterface2 Interface2 = iInterface1.(Interface2) fmt.Println(iInterface2.method2()) }
Dalam contoh ini, kami mentakrifkan antara muka Interface1
dan Interface2
dan menyediakan struktur Struct1
The badan melaksanakan dua kaedah method1()
dan method2()
. Dalam fungsi main()
, kami menghantar objek Struct1
ke antara muka Interface1
dan menghantarnya semula ke antara muka Interface2
. Kemudian kami memanggil kaedah method2()
dan mencetak hasilnya.
Di Golang, antara muka dan kaedah ialah salah satu konsep yang paling penting. Mereka menyediakan pengalaman pengaturcaraan yang lebih cekap di Golang. Dengan menggunakan antara muka, kita boleh menyatakan tingkah laku abstrak bebas daripada jenis. Juga menggunakan kaedah, kita boleh mengehadkan fungsi kepada jenis tertentu dan bekerja dengan pelbagai data dan jenis data dengan cara yang lebih langsung. Oleh itu, memahami konsep antara muka dan kaedah adalah asas penting untuk pengaturcaraan Golang.
Atas ialah kandungan terperinci antara muka dan kaedah golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!