Rumah > pembangunan bahagian belakang > Golang > Penerangan terperinci kaedah golang

Penerangan terperinci kaedah golang

PHPz
Lepaskan: 2023-04-25 15:32:20
asal
725 orang telah melayarinya

Bahasa Go (Golang), sebagai bahasa pengaturcaraan berprestasi tinggi yang baru muncul, telah menerima lebih banyak perhatian dan sokongan dalam bidang pembangunan sejak beberapa tahun kebelakangan ini. Antaranya, kaedah Go ialah ciri penting bahasa Go Ia bukan sahaja menyediakan cara yang lebih mudah untuk mengatur kod, tetapi juga membolehkan penggunaan semula dan penyelenggaraan kod yang lebih baik. Berikut akan memperkenalkan konsep, jenis, definisi dan penggunaan kaedah Go masing-masing.

1. Konsep kaedah

Dalam bahasa Go, kaedah ialah fungsi yang dikaitkan dengan jenis tertentu, yang boleh dipanggil pada jenis itu. Kaedah biasanya ditakrifkan dengan parameter penerima, di mana parameter penerima mewakili jenis kaedah dipanggil. Melalui parameter penerima ini, kaedah boleh mengakses sebarang sifat dan kaedah jenis untuk melaksanakan fungsi operasi pada data.

Sebagai contoh, untuk jenis struktur Orang, anda boleh menentukan kaedah SayHello, yang mengembalikan jenis rentetan:

taip Person struct {

name string
age  int
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

func (p Orang) SayHello() rentetan {

return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

Dalam kod di atas, kaedah SayHello mentakrifkan penerima p Orang, dan Nama atribut penerima dan umur digunakan dalam kaedah, dan ucapan jenis rentetan akhirnya dikembalikan. Selepas kaedah ini ditakrifkan, ia boleh dipanggil melalui contoh jenis Orang.

2. Jenis kaedah

Kaedah Go boleh dibahagikan kepada dua jenis: penerima nilai dan penerima penunjuk.

Penerima jenis nilai (iaitu, salinan nilai tika) biasanya digunakan dalam senario di mana keadaan dalaman tika itu tidak perlu diubah Ia ditakrifkan sebagai:

func (p Orang) SayHello() rentetan {

return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

Penerima jenis penunjuk (iaitu, penunjuk contoh) biasanya digunakan dalam senario di mana keadaan dalaman instance perlu diubah. IncreaseAge mentakrifkan penerima p

Orang dan mengubah suai penerima dalam kaedah Umur atribut peranti. Ambil perhatian bahawa penerima jenis penunjuk boleh menerima penunjuk kepada jenis atau jenis yang memerlukan alamat Pengisytiharan kaedah dalam borang ini memerlukan "

" sebelum nama jenis "*" di sini ialah jenis penunjuk.

p.age++
Salin selepas log masuk
Salin selepas log masuk
3. Definisi kaedah

Terdapat dua cara untuk mentakrifkan kaedah Go, satu adalah untuk menentukan kaedah apabila jenis diisytiharkan, dan satu lagi adalah untuk menentukan kaedah melalui fungsi di luar jenis.

Cara untuk mentakrifkan kaedah pada pengisytiharan jenis adalah seperti berikut:

type Person struct {

}

func (p Person) SayHello () rentetan {

}
name string
age  int
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kaedah SayHello ditakrifkan dalam jenis Orang.

Cara untuk mentakrifkan kaedah melalui fungsi di luar jenis adalah seperti berikut:

return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
type Person struct {

}

func ( p Orang) SayHello () rentetan {

}
name string
age  int
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

func (p *Orang) IncreaseAge() {

}
return "Hello, my name is " + p.name + ", I'm " + strconv.Itoa(p.age) + " years old."
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

dalam kod di atas, kaedah IncreaseAge ditakrifkan melalui fungsi dan ditambah di luar jenis Orang.

4. Penggunaan kaedah

p.age++
Salin selepas log masuk
Salin selepas log masuk
Kaedah ini digunakan sama dengan fungsi lain dan boleh dipanggil dalam dua cara berikut:

1 .

p := Orang{nama: "Tom", umur: 18}

p.SayHello() // Hello, nama saya Tom, saya berumur 18 tahun.

2. Panggilan melalui penunjuk jenis.

pp := &Person{name: "Jack", umur: 20}

pp.IncreaseAge() // Ubah suai atribut umur pp, pada masa ini pp.age=21.


Di atas ialah pengenalan terperinci kepada kaedah Go Bagi pembangun yang menggunakan Go untuk membangunkan, sama ada melalui struktur atau jenis antara muka, menggunakan kaedah Go boleh mencapai penggunaan semula dan penyelenggaraan kod dengan lebih baik.

Atas ialah kandungan terperinci Penerangan terperinci kaedah 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