Golang ialah bahasa pengaturcaraan yang telah muncul sejak beberapa tahun kebelakangan ini. Ia mempunyai kelebihan kesederhanaan, kecekapan dan kesesuaian yang kukuh Ia digunakan secara meluas dalam pembangunan bahagian belakang, pengkomputeran awan dan bidang lain. Di Golang, kaedah adalah konsep pengaturcaraan yang sangat penting. Ia boleh ditakrifkan pada struktur, antara muka dan jenis lain untuk menyelesaikan tugasan tertentu. Dalam artikel ini, kami akan memberi tumpuan kepada format kaedah Golang.
Format definisi kaedah dalam Golang adalah seperti berikut:
func (receiver type) methodName(parameterList) (returnTypeList) { // Code goes here }
Antaranya, penerima mewakili jenis yang kaedah milik, yang boleh berupa apa-apa jenis , termasuk struktur tersuai, dsb. methodName digunakan untuk menentukan nama kaedah parameterList mewakili senarai parameter kaedah, yang boleh berupa apa-apa jenis atau kosongkan senarai jenis nilai pulangan kaedah.
Di Golang, jenis penerima adalah bahagian penting dalam kaedah. Ia boleh menjadi jenis penunjuk atau jenis nilai, bergantung pada keperluan pembangun.
Definisi penerima jenis nilai:
type Type struct { property int } func (t Type) MethodName() ReturnType { // Code goes here }
Kaedah penerima jenis nilai boleh dilaksanakan dengan mencipta objek jenis nilai dan memanggil kaedah tersebut.
Takrifan penerima jenis penunjuk:
type Type struct { property int } func (t *Type) MethodName() ReturnType { // Code goes here }
Kaedah penerima jenis penunjuk boleh dilaksanakan dengan mencipta penunjuk kepada objek jenis dan memanggil kaedah. Perlu diingatkan bahawa jika nilai objek jenis perlu diubah dalam kaedah, penerima jenis penunjuk mesti digunakan.
Parameter dan nilai pulangan kaedah boleh terdiri daripada sebarang jenis, termasuk jenis terbina dalam, struktur tersuai, dsb. Terdapat berbilang parameter dan nilai pulangan Jika tiada nilai pulangan, ia boleh ditinggalkan.
Takrifan parameter kaedah:
type Type struct { property int } func (t *Type) MethodName(param1 string, param2 int) ReturnType { // Code goes here }
Takrifan nilai pulangan kaedah:
type Type struct { property int } func (t *Type) MethodName() (ReturnType1, ReturnType2, error) { // Code goes here }
Perlu diambil perhatian bahawa jika kaedah mengembalikan hanya satu nilai, kurungan boleh ditinggalkan.
Di Golang, format memanggil kaedah adalah seperti berikut:
variable.MethodName(param1, param2)
di mana pembolehubah mewakili objek yang kepunyaan kaedah, dan MethodName ialah nama kaedah, param1 dan param2 ialah senarai parameter kaedah.
Jika pembolehubah ialah jenis penunjuk, anda perlu menggunakan simbol "*" untuk menyahrujuk:
obj := &Type{} obj.MethodName(param1, param2)
Jika pembolehubah ialah jenis nilai, anda tidak perlu menggunakan simbol penyahrujukan:
obj := Type{} obj.MethodName(param1, param2)
Berikut ialah kod contoh lengkap untuk menunjukkan definisi dan penggunaan kaedah Golang:
package main import ( "fmt" ) type Rectangle struct { length, width float64 } func (r Rectangle) Area() float64 { return r.length * r.width } func (r *Rectangle) ScaleLength(factor float64) { r.length = r.length * factor } func main() { r := Rectangle{length: 5.0, width: 3.0} fmt.Println("Rectangle Area:", r.Area()) r.ScaleLength(1.5) fmt.Println("Rectangle new length:", r.length) }
Dalam contoh ini, Kami mentakrifkan struktur Segi Empat, yang mengandungi dua sifat: panjang dan lebar. Kemudian kami menentukan dua kaedah: Luas digunakan untuk mengira luas segi empat tepat, dan ScaleLength digunakan untuk skala panjang segi empat tepat secara berkadar. Akhirnya, objek Rectangle dicipta dalam fungsi utama dan dua kaedah di atas dipanggil.
Artikel ini memfokuskan pada format definisi kaedah Golang, termasuk jenis penerima, parameter kaedah dan nilai pulangan, panggilan kaedah, dsb. Sebagai ciri teras Golang, kaedah memainkan peranan penting dalam kerja pengaturcaraan harian, dan sangat perlu untuk menguasai kaedah takrif dan panggilan mereka. Saya harap artikel ini akan membantu anda dalam penguasaan kaedah Golang.
Atas ialah kandungan terperinci Fokus kepada format kaedah Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!