Rumah >pembangunan bahagian belakang >Golang >Menyelam mendalam ke dalam panggilan kaedah Golang

Menyelam mendalam ke dalam panggilan kaedah Golang

PHPz
PHPzasal
2023-04-11 10:39:37596semak imbas

Bahasa Go ialah bahasa pengaturcaraan yang berkuasa dan mudah difahami dan digunakan Ia terkenal dengan operasi serentak yang sangat baik dan mekanisme pengurusan memori. Dalam Go, kaedah ialah fungsi khas yang mempunyai jenis penerima yang berkaitan. Dalam artikel ini, kita akan menyelidiki kaedah doa Golang.

Asas kaedah

Kaedah ialah fungsi yang direka khusus untuk beroperasi pada objek yang serupa. Dalam Golang, kaedah merujuk kepada fungsi yang dikaitkan dengan jenis. Jenis ini boleh menjadi struktur, jenis asas, jenis antara muka atau jenis tersuai lain. Terdapat dua jenis kaedah: penerima nilai dan penerima penunjuk. Penerima nilai digunakan untuk menentukan kaedah untuk jenis nilai, dan penerima penunjuk digunakan untuk menentukan kaedah untuk jenis penunjuk.

Di Golang, kaedah ditakrifkan dengan mengisytiharkan nama fungsi di hadapan jenis. Nama kaedah mesti mengikut konvensyen penamaan CamelCase, iaitu, huruf pertama ditulis dengan huruf besar. Anda mencipta kaedah dengan menambahkan jenis penerima dan nama pembolehubah pada senarai hujah fungsi. Contoh berikut menunjukkan cara untuk mentakrifkan kaedah:

type Person struct {
    Name string
}

func (p Person) SayHello() {
    fmt.Printf("Hello, my name is %s.\n", p.Name)
}

Dalam kod di atas, jenis struktur Orang ditakrifkan dan kaedah SayHello() digunakan untuk mencetak nama orang itu.

Panggilan Kaedah

Dalam bahasa Go, anda boleh menggunakan kaedah objek untuk melaksanakan operasi Terdapat dua cara untuk memanggil kaedah: penerima nilai dan penerima penunjuk.

Kaedah penerima nilai dipanggil seperti berikut:

package main

import "fmt"

type Rectangle struct {
    length, width float64
}

func (r Rectangle) Area() float64 {
    return r.length * r.width
}

func main() {
    r := Rectangle{10, 5}
    fmt.Println("Rectangle Area:", r.Area())
}

Dalam kod di atas, kami mentakrifkan jenis segi empat tepat Rectangle dan melaksanakan kaedah Area() untuk mendapatkan luas ​segi empat itu. Dalam fungsi main(), kami mencipta pembolehubah r jenis Rectangle dan menggunakan r.Area() untuk mendapatkan luas segi empat tepat.

Kaedah penerima penunjuk dipanggil seperti berikut:

package main

import "fmt"

type Rectangle struct {
    length, width float64
}

func (r *Rectangle) Area() float64 {
    return r.length * r.width
}

func main() {
    r := &Rectangle{10, 5}
    fmt.Println("Rectangle Area:", r.Area())
}

Dalam kod di atas, kami melaksanakan kaedah Area() penerima penunjuk untuk jenis Rectangle, dan kemudian gunakan &r. Luas() untuk mendapatkan luas segi empat tepat.

Ringkasan

Di Golang, kaedah merujuk kepada fungsi yang dikaitkan dengan jenis. Terdapat dua jenis kaedah: penerima nilai dan penerima penunjuk. Mereka dipanggil secara berbeza Kaedah penerima nilai dipanggil secara langsung, manakala kaedah penerima penunjuk perlu dipanggil menggunakan penunjuk. Kaedah adalah asas pengaturcaraan berorientasikan objek, dan pengetahuan tentang kaedah adalah penting untuk memahami dan menggunakan bahasa pengaturcaraan Golang.

Atas ialah kandungan terperinci Menyelam mendalam ke dalam panggilan kaedah Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn