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.
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) { // 方法体 }
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) }
Antaranya, receiverType ialah Rectangle, methodName ialah perimeter, parameter kosong, dan keputusan ialah float64 Nilai perimeter jenis.
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) }
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 }
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) }
Selepas menjalankan program, anda boleh melihat output berikut:
Perimeter is 6 Area is 2 Width is 10
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!