Rumah > Artikel > pembangunan bahagian belakang > kaedah struktur golang
Golang ialah bahasa pengaturcaraan moden yang bukan sahaja ringkas dan mudah digunakan, tetapi juga sangat cekap semasa menulis dan mengekalkan pangkalan kod yang besar. Golang menyokong pengaturcaraan berorientasikan objek, dan salah satu konsep yang disertakan ialah struktur. Mari kita lihat pengetahuan berkaitan struktur dan kaedah di Golang.
1. Apakah itu struktur?
Di Golang, struktur ialah jenis data tersuai yang terdiri daripada set medan dengan jenis yang sama atau jenis yang berbeza. Anda boleh memikirkan struktur sebagai templat yang menerangkan set sifat dan kaedah objek. Berikut ialah contoh struktur ringkas:
type Person struct { Name string Age int }
Dalam contoh ini, kami mentakrifkan struktur bernama Orang, yang mengandungi dua medan Nama dan Umur, masing-masing mewakili nama dan umur orang itu. Medan struktur boleh mempunyai jenis data yang berbeza, termasuk sebarang jenis terbina dalam atau jenis tersuai. Sebagai contoh, jika kita ingin menambah bidang pengalaman kerja, kita boleh melakukan ini:
type Person struct { Name string Age int Experience []string }
2. Apakah kaedahnya?
Kaedah ialah fungsi yang dikaitkan dengan struktur. Mereka boleh melakukan operasi pada struktur dan mengakses serta mengubah suai medannya. Di Golang, takrif kaedah sangat serupa dengan takrifan fungsi, tetapi kaedah perlu menambah jenis penerima sebelum nama fungsi. Jenis penerima boleh menjadi struktur atau jenis lain.
Berikut ialah contoh kaedah mudah:
type Person struct { Name string Age int } func (p Person) SayHello() { fmt.Println("Hello, my name is", p.Name) }
Dalam contoh ini, kami mentakrifkan kaedah SayHello, yang mempunyai objek Orang bernama p sebagai penerima. Memandangkan kita mempunyai objek Orang sebagai penerima, dalam kaedah itu kita boleh mengakses medannya dan melakukan sebarang operasi lain. Sebagai contoh, kita boleh memanggil kaedah ini menggunakan kod berikut:
person := Person{Name: "Alice", Age: 25} person.SayHello()
Ini akan mencetak "Hello, nama saya Alice" ke konsol.
3. Perbezaan antara kaedah struktur dan fungsi
Dalam Golang, fungsi dan kaedah adalah dua konsep yang berbeza, walaupun sintaksnya sangat serupa. Berikut ialah beberapa perbezaan antara kaedah dan fungsi struct:
4. Kaedah penunjuk dan kaedah nilai struktur
Seperti fungsi, kaedah juga boleh ditakrifkan pada penunjuk struktur, yang dipanggil kaedah penunjuk. Kaedah ini menerima penunjuk kepada struktur dan boleh mengubah suai medan struktur. Berikut ialah contoh kaedah penunjuk:
type Person struct { Name string Age int } func (p *Person) UpdateName(name string) { p.Name = name }
Dalam contoh ini, kami telah mentakrifkan kaedah UpdateName yang mempunyai penunjuk bernama kepada objek Orang sebagai penerima. Memandangkan kami menggunakan penunjuk sebagai penerima, kami boleh mengubah suai medan struktur di dalam kaedah. Sebagai contoh, gunakan kod berikut untuk memanggil kaedah ini untuk mengemas kini nama p kepada "Bob":
person := &Person{Name: "Alice", Age: 25} person.UpdateName("Bob")
Dalam contoh di atas, kami menghantar penunjuk kepada objek Orang kepada kaedah, yang akan mengubah suai nama objek itu.
Kaedah nilai (tanpa penunjuk) hanya boleh dilaksanakan pada salinan struktur dan oleh itu tidak boleh mengubah suai struktur asal. Dalam kebanyakan kes kita harus menggunakan kaedah penunjuk supaya kita boleh mengubah suai struktur.
5. Ringkasan
Seperti fungsi, kaedah adalah satu lagi konsep asas Golang. Digunakan bersama-sama dengan struct, ia adalah alat yang sangat berguna untuk menulis kod yang lebih berstruktur. Dalam artikel ini, kami memperkenalkan pengetahuan berkaitan struktur dan kaedah di Golang, termasuk definisi struktur, definisi kaedah dan perbezaan antara kaedah penunjuk dan kaedah nilai. Saya harap artikel ini akan membantu anda memahami pengaturcaraan berorientasikan objek Golang.
Atas ialah kandungan terperinci kaedah struktur golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!