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

Menyelam mendalam ke dalam panggilan kaedah Golang

PHPz
Lepaskan: 2023-04-11 14:20:09
asal
594 orang telah melayarinya

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)
}
Salin selepas log masuk

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())
}
Salin selepas log masuk

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())
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan