Rumah >pembangunan bahagian belakang >Golang >definisi jenis kaedah golang
Golang ialah bahasa pengaturcaraan yang sangat berkuasa yang menyokong pengaturcaraan berorientasikan objek (OOP). Di Golang, kita boleh menggunakan kaedah untuk melaksanakan ciri seperti enkapsulasi, pewarisan dan polimorfisme dalam pengaturcaraan berorientasikan objek. Kaedah merujuk kepada fungsi yang dikaitkan dengan jenis tertentu, yang boleh dipanggil melalui jenis, serupa dengan kaedah ahli (Fungsi Ahli) atau kaedah contoh (Kaedah Contoh) dalam bahasa pengaturcaraan lain.
Kaedah dalam Golang ditakrifkan pada struktur (Struct) atau jenis (Type), dan berkait rapat dengan struktur atau jenis itu sendiri. Melalui kaedah, kita boleh mengaitkan tingkah laku dengan data, menjadikan kod lebih mudah dibaca dan ringkas.
Takrif jenis kaedah Golang terutamanya termasuk yang berikut:
Sebagai contoh, berikut ialah takrifan kaedah jenis nilai:
type Rectangle struct { width, height float64 } func (r Rectangle) area() float64 { return r.width * r.height }
Dalam contoh ini, kami mentakrifkan struktur Segi Empat dan mentakrifkan jenis nilai bernama kaedah kawasan. Penerima kaedah ini ialah nilai jenis Rectangle (r Rectangle), dan mengembalikan kawasan jenis float64.
Apabila memanggil kaedah ini, kita boleh memanggilnya melalui nilai jenis Rectangle:
rect := Rectangle{width: 10, height: 5} fmt.Println(rect.area())
Sebagai contoh, berikut ialah takrifan kaedah jenis penunjuk:
type Rectangle struct { width, height float64 } func (r *Rectangle) scale(factor float64) { r.width = r.width * factor r.height = r.height * factor }
Dalam contoh ini, kami mentakrifkan struktur Segiempat dan jenis penunjuk bernama kaedah skala. Penerima kaedah ini ialah penunjuk jenis Rectangle (r *Rectangle) dan tidak mempunyai nilai pulangan. Di dalam kaedah, kami mendarabkan kedua-dua sifat lebar dan ketinggian struktur dengan faktor.
Apabila memanggil kaedah ini, kita perlu memanggilnya melalui penuding kepada jenis Rectangle:
rect := &Rectangle{width: 10, height: 5} rect.scale(2) fmt.Println(rect.width, rect.height)
Sebagai contoh, kita boleh mentakrifkan jenis Haiwan, kemudian menentukan jenis Kucing dan menggunakan jenis Haiwan sebagai medan terbenam bagi jenis Kucing. Dengan cara ini, jenis Kucing boleh terus menggunakan kaedah jenis Haiwan.
type Animal struct { name string } func (a *Animal) move() { fmt.Println(a.name, "is moving") } type Cat struct { *Animal } func main() { cat := &Cat { Animal: &Animal { name: "Tom", }, } cat.move() }
Dalam contoh ini, kami mentakrifkan jenis Haiwan dan jenis Kucing dan membenamkan jenis Haiwan ke dalam jenis Kucing sebagai medan tanpa nama. Dengan cara ini, jenis Kucing boleh terus menggunakan kaedah jenis Haiwan.
Apabila memanggil kaedah ini, kita boleh terus memanggil kaedah pergerakan jenis Cat. Memandangkan jenis Kucing mempunyai jenis Haiwan yang tertanam di dalamnya, kaedah bergerak sebenarnya adalah kaedah jenis itu.
Ringkasan:
Golang menyokong takrif jenis kaedah berbilang seperti kaedah jenis nilai, kaedah jenis penunjuk dan kaedah jenis terbenam. Dengan mentakrifkan jenis kaedah yang berbeza, kami boleh mencapai keperluan pengaturcaraan yang berbeza dan membawa lebih fleksibiliti dan kemudahan kepada pengaturcaraan Golang.
Atas ialah kandungan terperinci definisi jenis kaedah golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!