Rumah >pembangunan bahagian belakang >Golang >definisi jenis kaedah golang

definisi jenis kaedah golang

WBOY
WBOYasal
2023-05-15 11:07:07621semak imbas

Golang ialah bahasa pengaturcaraan yang sangat berkuasa yang menyokong pengaturcaraan berorientasikan objek (OOP). Di Golang, kita boleh menggunakan kaedah untuk melaksanakan ciri seperti enkapsulasi, pewarisan dan polimorfisme dalam pengaturcaraan berorientasikan objek. Kaedah merujuk kepada fungsi yang dikaitkan dengan jenis tertentu, yang boleh dipanggil melalui jenis, serupa dengan kaedah ahli (Fungsi Ahli) atau kaedah contoh (Kaedah Contoh) dalam bahasa pengaturcaraan lain.

Kaedah dalam Golang ditakrifkan pada struktur (Struct) atau jenis (Type), dan berkait rapat dengan struktur atau jenis itu sendiri. Melalui kaedah, kita boleh mengaitkan tingkah laku dengan data, menjadikan kod lebih mudah dibaca dan ringkas.

Takrif jenis kaedah Golang terutamanya termasuk yang berikut:

  1. Kaedah Nilai (Kaedah Nilai)
    Kaedah jenis nilai merujuk kepada fungsi yang dikaitkan dengan jenis tertentu Penerimanya ialah a nilai jenis ini. Pengubahsuaian kepada penerima dalam kaedah tidak akan menjejaskan nilai asal.

Sebagai contoh, berikut ialah takrifan kaedah jenis nilai:

type Rectangle struct {
    width, height float64
}

func (r Rectangle) area() float64 {
    return r.width * r.height
}

Dalam contoh ini, kami mentakrifkan struktur Segi Empat dan mentakrifkan jenis nilai bernama kaedah kawasan. Penerima kaedah ini ialah nilai jenis Rectangle (r Rectangle), dan mengembalikan kawasan jenis float64.

Apabila memanggil kaedah ini, kita boleh memanggilnya melalui nilai jenis Rectangle:

rect := Rectangle{width: 10, height: 5}
fmt.Println(rect.area())
  1. Kaedah Penunjuk (Kaedah Penunjuk)
    Kaedah jenis penunjuk merujuk kepada fungsi A yang dikaitkan dengan jenis yang penerimanya adalah penunjuk jenis itu. Mengubah suai penerima di dalam kaedah akan menjejaskan nilai asal kerana penunjuk menunjuk kepada nilai asal.

Sebagai contoh, berikut ialah takrifan kaedah jenis penunjuk:

type Rectangle struct {
    width, height float64
}

func (r *Rectangle) scale(factor float64) {
    r.width = r.width * factor
    r.height = r.height * factor
}

Dalam contoh ini, kami mentakrifkan struktur Segiempat dan jenis penunjuk bernama kaedah skala. Penerima kaedah ini ialah penunjuk jenis Rectangle (r *Rectangle) dan tidak mempunyai nilai pulangan. Di dalam kaedah, kami mendarabkan kedua-dua sifat lebar dan ketinggian struktur dengan faktor.

Apabila memanggil kaedah ini, kita perlu memanggilnya melalui penuding kepada jenis Rectangle:

rect := &Rectangle{width: 10, height: 5}
rect.scale(2)
fmt.Println(rect.width, rect.height)
  1. Kaedah Jenis Terbenam
    Kaedah jenis terbenam merujuk kepada Jadikan satu jenis medan jenis lain dan gunakan kaedah jenis itu secara langsung dalam kaedah. Kaedah jenis terbenam sebenarnya ialah definisi jenis kaedah yang unik untuk bahasa Go, yang bersamaan dengan jenis warisan atau campuran dalam bahasa lain.

Sebagai contoh, kita boleh mentakrifkan jenis Haiwan, kemudian menentukan jenis Kucing dan menggunakan jenis Haiwan sebagai medan terbenam bagi jenis Kucing. Dengan cara ini, jenis Kucing boleh terus menggunakan kaedah jenis Haiwan.

type Animal struct {
    name string
}

func (a *Animal) move() {
    fmt.Println(a.name, "is moving")
}

type Cat struct {
    *Animal
}

func main() {
    cat := &Cat {
        Animal: &Animal {
            name: "Tom",
        },
    }
    cat.move()
}

Dalam contoh ini, kami mentakrifkan jenis Haiwan dan jenis Kucing dan membenamkan jenis Haiwan ke dalam jenis Kucing sebagai medan tanpa nama. Dengan cara ini, jenis Kucing boleh terus menggunakan kaedah jenis Haiwan.

Apabila memanggil kaedah ini, kita boleh terus memanggil kaedah pergerakan jenis Cat. Memandangkan jenis Kucing mempunyai jenis Haiwan yang tertanam di dalamnya, kaedah bergerak sebenarnya adalah kaedah jenis itu.

Ringkasan:
Golang menyokong takrif jenis kaedah berbilang seperti kaedah jenis nilai, kaedah jenis penunjuk dan kaedah jenis terbenam. Dengan mentakrifkan jenis kaedah yang berbeza, kami boleh mencapai keperluan pengaturcaraan yang berbeza dan membawa lebih fleksibiliti dan kemudahan kepada pengaturcaraan Golang.

Atas ialah kandungan terperinci definisi jenis 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:golang dikerahkan ke pelabuhanArtikel seterusnya:golang dikerahkan ke pelabuhan