Rumah > pembangunan bahagian belakang > Golang > Cara mengubah suai kandungan kaedah dalam golang

Cara mengubah suai kandungan kaedah dalam golang

PHPz
Lepaskan: 2023-04-24 15:18:50
asal
512 orang telah melayarinya

Bahasa Go (Golang) ialah bahasa pengaturcaraan yang ditaip secara statik, disusun dan serentak yang dibangunkan oleh Google. Kemunculannya telah mengubah pemahaman kita tentang bahasa pengaturcaraan dan telah menjadi bahasa pengaturcaraan yang paling banyak digunakan dalam generasi baharu pengkomputeran awan, sistem teragih dan bidang lain. Bahasa Go sangat sesuai untuk bidang seperti pembangunan rangkaian, pemprosesan serentak tinggi dan pemprosesan data yang besar, kerana dalam kawasan ini, bahasa Go boleh menggunakan kelebihan uniknya.

Apabila membangunkan menggunakan bahasa Go, kita sering menghadapi situasi di mana kita perlu mengubah suai kandungan kaedah. Tidak syak lagi bahawa ini adalah operasi yang sangat asas. Mari kita lihat bagaimana untuk melakukan ini.

  1. Fahami definisi kaedah

Sebelum mengubah suai kandungan sesuatu kaedah, kita perlu menjelaskan definisi kaedah tersebut. Dalam bahasa Go, kaedah ialah fungsi yang dikaitkan dengan jenis (struct Ia sebenarnya fungsi biasa, tetapi anda perlu menggunakan penerima untuk menentukan jenis yang dimilikinya). Takrif kaedah biasanya boleh ditulis seperti berikut:

func (r receiverType) methodName(parameters) (results) {
    // 方法体
}
Salin selepas log masuk

Antaranya, receiverType mewakili jenis kaedah ini, nama kaedah mewakili senarai parameter kaedah; ; keputusan mewakili senarai nilai pulangan kaedah.

Sebagai contoh, kami mentakrifkan jenis yang dipanggil Rectangle, yang mempunyai dua sifat: panjang dan lebar. Sekarang kita perlu menambah kaedah untuk mengira perimeter, maka definisi kaedah ini boleh ditulis seperti berikut:

type Rectangle struct {
    width, height float64
}

func (r Rectangle) perimeter() float64 {
    return 2 * (r.width + r.height)
}
Salin selepas log masuk

Antaranya, receiverType ialah Rectangle, methodName ialah perimeter, parameter kosong, dan keputusan ialah float64 Nilai perimeter jenis.

  1. Ubah suai kandungan kaedah

Seterusnya, kita perlu mengubah suai kandungan kaedah ini. Kita boleh mengubah suai terus dalam badan kaedah, atau kita boleh mencapai tujuan pengubahsuaian dengan mentakrifkan semula kaedah.

2.1 Kaedah pengubahsuaian terus

Kaedah pengubahsuaian terus ialah kaedah paling mudah, yang secara langsung mengubah suai kandungan kaedah asal. Sebagai contoh, jika kita kini ingin mengubah suai atribut lebar struktur Rectangle kepada 10, maka kita hanya perlu mengubah suainya secara langsung dalam kaedah perimeter Kod yang diubah adalah seperti berikut:

func (r Rectangle) perimeter() float64 {
    r.width = 10
    return 2 * (r.width + r.height)
}
Salin selepas log masuk

2.2 Tentukan Semula. kaedah

Kaedah lain ialah mentakrifkan semula kaedah, yang tidak mengubah suai kandungan kaedah asal, tetapi mentakrifkan kaedah baharu untuk menggantikan kaedah asal. Sebagai contoh, jika kita kini ingin mengira luas segi empat tepat, maka kita boleh menentukan kawasan kaedah baru Walau bagaimanapun, perlu diperhatikan bahawa kaedah ini mestilah jenis yang sama dengan kaedah perimeter asal untuk mewakilinya dengan tepat perhubungan. Kod yang ditukar adalah seperti berikut:

func (r Rectangle) area() float64 {
    return r.width * r.height
}
Salin selepas log masuk
  1. Kaedah ujian

Akhir sekali, kita perlu menguji sama ada kaedah baharu itu berkuat kuasa. Kaedah ujian adalah sangat mudah, anda hanya perlu memanggil kaedah ini dalam fungsi utama. Sebagai contoh, kita boleh menambah kod berikut:

func main() {
    r := Rectangle{width: 1, height: 2}
    fmt.Println("Perimeter is", r.perimeter())
    fmt.Println("Area is", r.area())
    fmt.Println("Width is", r.width)
}
Salin selepas log masuk

Selepas menjalankan program, anda boleh melihat output berikut:

Perimeter is 6
Area is 2
Width is 10
Salin selepas log masuk

Daripada hasil output, kita dapat melihat bahawa kawasan yang ditakrifkan semula Kaedah telah berkuat kuasa, dan secara langsung mengubah suai kaedah perimeter juga menyebabkan atribut lebar berjaya ditukar.

Ringkasan

Artikel ini memperkenalkan dua cara untuk mengubah suai kandungan kaedah dalam bahasa Go: mengubah suai kaedah secara langsung dan mentakrifkan semula kaedah. Kedua-dua kaedah boleh mencapai tujuan mengubah suai kandungan kaedah. Walau bagaimanapun, perlu diingatkan bahawa jika anda menggunakan kaedah mengubah suai kaedah secara langsung, anda perlu mempertimbangkannya dengan teliti, kerana mengubah suai kaedah secara langsung boleh menjejaskan kod asal dan menyebabkan masalah dalam operasi lain. Adalah disyorkan untuk membuat pengubahsuaian dengan mentakrifkan semula kaedah untuk mengelakkan risiko yang tidak perlu. Pada masa yang sama, apabila mengubah suai kaedah, anda perlu sangat memahami definisi kaedah untuk memastikan ketepatan pengubahsuaian.

Atas ialah kandungan terperinci Cara mengubah suai kandungan kaedah dalam 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