Rumah >pembangunan bahagian belakang >Golang >Artikel untuk meneroka ciri-ciri kaedah golang
Dengan pembangunan pengkomputeran awan dan data besar, semakin ramai pembangun mula menggunakan bahasa Golang untuk pembangunan. Golang ialah bahasa sumber terbuka dengan kelebihan kelajuan larian yang pantas, penggunaan memori yang kecil dan keupayaan serentak yang kuat. Di sini, artikel ini akan memperkenalkan ciri-ciri kaedah di Golang.
Kaedah di Golang ialah fungsi khas iaitu fungsi penerima. Fungsi penerima boleh difahami sebagai fungsi berdasarkan struktur atau jenis antara muka. Perbezaan terbesar antara fungsi penerima dan fungsi biasa ialah fungsi penerima mempunyai parameter penerima sebagai konteks untuk memanggil kaedah. Parameter penerima boleh menjadi jenis nilai atau jenis penunjuk.
Menggunakan fungsi penerima boleh memisahkan gelagat daripada struktur data, menjadikan kod lebih jelas dan lebih mudah untuk dikembangkan. Di Golang, fungsi penerima ditakrifkan seperti berikut:
func (r receiverType) functionName(parameters) { // function body }
Antaranya, receiverType mewakili jenis yang dimiliki oleh fungsi penerima (boleh mana-mana jenis, termasuk struktur dan antara muka, dll.), functionName mewakili nama fungsi, dan parameter mewakili parameter fungsi.
Antaranya, terdapat dua jenis parameter penerima:
Untuk fungsi penerima jenis nilai, nilai akan disalin apabila dipanggil, iaitu salinan data akan disalin setiap masa. Untuk fungsi penerima jenis penunjuk, data yang sama akan dikongsi apabila dipanggil.
Yang berikut menggunakan contoh untuk memperkenalkan ciri-ciri fungsi penerima.
package main import "fmt" type Person struct { Name string Age int } func (p Person) SayHello() { fmt.Printf("Hello, my name is %s\n", p.Name) } func (p *Person) IncreaseAge() { p.Age++ } func main() { person := Person{ Name: "Jack", Age: 20, } person.SayHello() // Hello, my name is Jack person.IncreaseAge() fmt.Printf("The age of %s is %d\n", person.Name, person.Age) // The age of Jack is 21 }
Dalam kod di atas, kami mentakrifkan jenis Orang, yang mengandungi dua medan: Nama dan Umur. Kemudian kami menentukan dua fungsi penerima, sepadan dengan kaedah SayHello dan IncreaseAge. Antaranya, SayHello ialah fungsi penerima jenis nilai, dan IncreaseAge ialah fungsi penerima jenis penunjuk.
Dalam fungsi utama, kami mencipta objek orang dan memanggil fungsi SayHellonya. Memandangkan SayHello ialah fungsi penerima jenis nilai, salinan objek orang akan dibuat apabila ia dipanggil. Kami mengeluarkan medan Nama objek dalam fungsi SayHello.
Seterusnya, kami memanggil fungsi IncreaseAge seseorang. Memandangkan IncreaseAge ialah fungsi penerima jenis penunjuk, objek orang yang sama digunakan apabila ia dipanggil. Kami menambah 1 pada medan Umur objek dalam fungsi IncreaseAge, dan mengeluarkan medan Nama dan Umur objek dalam fungsi utama.
Melalui contoh di atas, kita dapat melihat ciri-ciri fungsi penerima di Golang:
Atas ialah kandungan terperinci Artikel untuk meneroka ciri-ciri kaedah golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!