Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mari kita bincangkan tentang definisi dan penggunaan kaedah di Golang

Mari kita bincangkan tentang definisi dan penggunaan kaedah di Golang

PHPz
PHPzasal
2023-04-14 13:33:16473semak imbas

Bahasa Golang ialah bahasa pengaturcaraan yang sangat popular sejak beberapa tahun kebelakangan ini, kesederhanaan, kecekapan dan kebolehbacaan yang tinggi amat digemari oleh pengaturcara. Di Golang, mentakrifkan kaedah adalah bahagian yang sangat penting Untuk menulis program yang cekap, definisi kaedah mestilah betul, ringkas, dan mudah difahami.

  1. Definisi kaedah

Kaedah dalam Golang dilaksanakan mengikut fungsi, tetapi sintaksnya mempunyai beberapa perbezaan. Di Golang, kaedah ditakrifkan sebagai fungsi dengan parameter penerima khas. Penerima boleh dari sebarang jenis, tetapi mesti diisytiharkan sebelum nama fungsi. Berikut ialah contoh definisi kaedah:

package main

import "fmt"

type MyInt int

func (i MyInt) Print() {
    fmt.Println(i)
}

func main() {
    var i MyInt = 100
    i.Print()
}

Dalam kod di atas, kami mentakrifkan jenis MyInt dan kaedah cetakan. Kaedah ini mengeluarkan penerima i, membuat instantiate jenis MyInt dalam fungsi utama, dan mengeluarkannya melalui kaedah i.Print().

  1. Perkaitan antara jenis dan kaedah

Di Golang, perkaitan antara kaedah dan jenis dicapai melalui penerima. Dalam kod di atas, kami menggunakan jenis MyInt sebagai penerima kaedah, yang mengaitkan kaedah dengan jenis MyInt. Ambil perhatian bahawa penerima mesti diisytiharkan menggunakan nama jenis dan bukannya alias. Contohnya:

type MyInt int

Jika kita menukar MyInt kepada i, takrifan penerima akan menjadi salah:

type i int        // 错误的示例

func (i MyInt) Print() {
    fmt.Println(i)
}
  1. Penerima Penunjuk

Di Golang, sebagai tambahan kepada penerima nilai, anda juga boleh menggunakan penerima penunjuk untuk menentukan kaedah. Penerima penunjuk boleh mengubah suai perkara yang ditunjuk oleh penerima, dengan itu mengubah nilainya. Berikut ialah contoh mentakrifkan kaedah menggunakan penerima penunjuk:

package main

import "fmt"

type MyInt int

func (i *MyInt) Add(n MyInt) {
    *i += n
}

func main() {
    var i MyInt = 100
    i.Add(50)
    fmt.Println(i)
}

Dalam kod di atas, kami telah menentukan kaedah Tambah yang menggunakan penerima penunjuk untuk mengubah suai nilai jenis MyInt. Dalam fungsi utama, kami membuat instantiate jenis MyInt dan menambah 50 pada nilainya. Oleh kerana kami menggunakan penerima penunjuk, nilai boleh diubah suai di dalam kaedah dan hasil output ialah 150.

  1. Mana satu lebih baik, penerima nilai atau penerima penunjuk?

Dalam aplikasi praktikal, kita harus memilih penerima nilai atau penerima penunjuk mengikut situasi sebenar. Penerima penunjuk harus digunakan apabila kita perlu mengubah suai nilai penerima. Apabila kita hanya perlu membaca nilai penerima dan tidak perlu mengubahnya, kita harus menggunakan penerima nilai. Penerima nilai biasanya digunakan apabila objek penerima tidak perlu diubah suai, manakala penerima penunjuk digunakan apabila objek penerima perlu diubah suai.

Ringkasan:

Melalui penjelasan di atas, saya percaya semua orang telah memahami definisi dan penggunaan kaedah di Golang. Sebagai ciri penting Golang, penggunaan kaedah yang betul boleh membawa banyak faedah seperti kecekapan, kesederhanaan dan kemudahan penyelenggaraan kepada program.

Atas ialah kandungan terperinci Mari kita bincangkan tentang definisi dan penggunaan kaedah di 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