set kaedah golang

WBOY
WBOYasal
2023-05-09 21:32:06719semak imbas

Golang ialah bahasa pengaturcaraan yang ringkas dan berkuasa yang menyediakan set kaedah yang kaya untuk mengendalikan objek. Set kaedah ialah koleksi kaedah yang boleh dipanggil pada nilai jenis tertentu.

Set kaedah Golang terdiri daripada jenis berikut:

  1. Set kaedah jenis nilai

Set kaedah jenis nilai mewakili semua nilai kepunyaan jenis ini pengumpulan kaedah. Jenis nilai termasuk jenis asas (int, float, rentetan, dll.) dan jenis tersuai (struct, array, slice, map, dsb.). Mengambil struct sebagai contoh, semua medan dalam struktur akan dimasukkan dalam set kaedah jenis nilai. Apabila kaedah dipanggil pada struct, salinan nilai dibuat dan dikendalikan.

Berikut ialah contoh:

type Person struct {
    Name string
    Age int
}

func (p Person) SayHello() {
    fmt.Println("Hello, my name is", p.Name, "and I am", p.Age, "years old.")
}

func main() {
    p := Person{Name: "John", Age: 30}
    p.SayHello() // 输出:Hello, my name is John and I am 30 years old.
}
  1. Set kaedah jenis penunjuk

Set kaedah jenis penunjuk mewakili koleksi semua kaedah kepunyaan penunjuk ini menaip. Tidak seperti jenis nilai, jenis penunjuk termasuk semua kaedah yang mempunyai penerima penunjuk. Fungsi set kaedah jenis penunjuk adalah untuk beroperasi pada objek asal.

Berikut ialah contoh:

type Rect struct {
    Width int
    Height int
}

func (r *Rect) Area() int {
    return r.Width * r.Height
}

func main() {
    r := &Rect{Width: 10, Height: 5}
    fmt.Println(r.Area()) // 输出:50
}
  1. Gabungan set kaedah jenis nilai dan jenis penunjuk

Apabila jenis mempunyai kedua-dua set kaedah jenis nilai dan set kaedah jenis jenis penunjuk, ia mempunyai dua set kaedah yang berbeza. Jenis ini sering dipanggil jenis penerima. Oleh kerana jenis ini menyokong kedua-dua penerima nilai dan penunjuk, ia boleh dipanggil sama ada pada nilai atau penunjuk.

Berikut ialah contoh:

type Counter struct {
    Value int
}

func (c Counter) Increment() {
    c.Value++
}

func (c *Counter) Decrement() {
    c.Value--
}

func main() {
    c1 := Counter{Value: 0}
    c1.Increment()
    fmt.Println(c1.Value) // 输出:0

    c2 := &Counter{Value: 0}
    c2.Decrement()
    fmt.Println(c2.Value) // 输出:-1
}

Dalam contoh di atas, anda boleh menambah kaedah kenaikan melalui penerima jenis nilai dan kaedah pengurangan melalui penerima jenis penunjuk. Apabila kaedah kenaikan dipanggil pada nilai, hanya salinan pembolehubah diubah, bukan pembolehubah asal. Apabila kaedah pengurangan dipanggil pada penunjuk, pembolehubah asal akan diubah suai.

Secara keseluruhan, set kaedah Golang menyediakan cara yang mudah tetapi berkuasa untuk menangani objek. Ia menjadikan pelaksanaan operasi pada objek lebih mudah dan lebih intuitif, serta berkesan mengelakkan pertindihan kod. Bagi pemula, adalah sangat penting untuk memahami idea di sebalik set kaedah, yang akan membantu untuk lebih memahami prinsip asas bahasa pengaturcaraan Golang.

Atas ialah kandungan terperinci set 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
Artikel sebelumnya:data golang gin tidak lengkapArtikel seterusnya:data golang gin tidak lengkap