Rumah >pembangunan bahagian belakang >Golang >Sembang mendalam tentang kaedah dalam golang (tutorial)

Sembang mendalam tentang kaedah dalam golang (tutorial)

PHPz
PHPzasal
2023-04-11 10:42:18593semak imbas

Golang ialah bahasa pengaturcaraan moden yang dilahirkan untuk menyelesaikan kekurangan C++ dan Java. Oleh kerana kecekapannya, kemudahan pembelajaran dan kebolehpercayaan yang tinggi, Golang telah menjadi bahasa pilihan bagi banyak syarikat besar. Kaedah dalam Golang ialah ciri yang sangat berkuasa kerana ia membolehkan kami memodulasi dan mengatur kod kami dengan lebih baik. Dalam artikel berikut, kami akan mempelajari kaedah dalam Golang dan memahami cara kaedah tersebut berinteraksi dengan kod kami.

Apakah kaedah Golang?

Di Golang, kaedah ialah fungsi untuk jenis tersuai. Dalam erti kata lain, apabila anda mentakrifkan jenis dan ingin melakukan operasi tertentu pada jenis itu, anda menentukan kaedah untuk mencapai operasi tersebut. Kaedah sering dipanggil tingkah laku jenis kerana ia membolehkan anda menentukan cara jenis itu harus berkelakuan.

Kaedah di Golang sedikit berbeza daripada kaedah dalam bahasa pengaturcaraan lain. Mereka tidak boleh wujud bersendirian. Sebaliknya, mereka mesti terikat pada jenis untuk menunjukkan bahawa mereka tergolong dalam jenis itu. Ini bermakna apabila anda menentukan kaedah, anda mesti menentukan jenis untuk diikat. Ini dilakukan menggunakan sintaks "()" antara nama kaedah dan jenis penerima. Berikut ialah contoh kod untuk mentakrifkan kaedah dalam Golang:

type Person struct {
    Name string
    Age  int
}

func (p Person) GetName() string {
    return p.Name
}

func (p Person) GetAge() int {
    return p.Age
}

Dalam kod di atas, kami mentakrifkan jenis bernama Person, dan kemudian mentakrifkan dua kaedah GetName dan GetAge. Setiap kaedah mempunyai penerima yang menentukan jenis kaedah yang terikat. Dalam kes ini, penerima adalah jenis Orang. Apabila kita memanggil p.GetName(), kaedah akan mengambil contoh jenis Orang sebagai parameter.

Bagaimana untuk menentukan kaedah Golang?

Di Golang, mentakrifkan kaedah adalah sangat mudah. Kita boleh menggunakan sintaks berikut untuk menukar fungsi kepada kaedah:

func (t Type) methodName(parameter list) {
 //方法内容
}

di mana Type mewakili jenis kaedah yang akan diikat, dan methodName mewakili nama kaedah yang anda mahu gunakan. Penerima adalah parameter dan boleh menjadi penerima nilai atau penerima penunjuk.

Dalam kod contoh berikut, kami mentakrifkan jenis bernama Kereta dan kaedah bernama Drive:

type Car struct {
    brand string
    model string
}

func (c Car) Drive() {
    fmt.Printf("Driving %s %s\n", c.brand, c.model)
}

Dalam kod di atas, kami mentakrifkan jenis bernama Untuk jenis Kereta, Drive kaedah kemudiannya ditakrifkan. Kaedah ini menerima contoh jenis Kereta bernama c sebagai parameter, yang akan digunakan untuk mengeluarkan mesej.

Bagaimana cara menggunakan kaedah Golang?

Di Golang, penggunaannya sangat mudah. Setelah kaedah ditakrifkan, kami boleh menggunakan kaedah tersebut pada contoh jenis itu menggunakan pengendali "."

Contohnya:

car := Car{
    brand: "BMW",
    model: "M5",
}

car.Drive()

Dalam kod di atas, kami mencipta jenis Kereta yang dipanggil kereta dan menetapkannya untuk mempunyai nilai buatan dan model "BMW" dan "M5". Kami kemudian memanggil kaedah ini menggunakan fungsi Drive.

Penerima Nilai dan Penerima Penunjuk

Di Golang, terdapat juga jenis penerima yang berbeza: penerima penunjuk. Penerima penunjuk sangat serupa dengan penerima nilai, tetapi terdapat beberapa perbezaan penting apabila menggunakannya. Penerima penunjuk menggunakan operator "*" sebelum nama jenis.

Gunakan penerima nilai atau penerima penunjuk bergantung pada perkara yang anda mahu lakukan. Penerima nilai biasanya merupakan pilihan terbaik apabila anda hanya perlu membaca sifat contoh. Jika anda ingin mengubah suai sifat kejadian, anda perlu menggunakan penerima penunjuk.

Kod sampel berikut menunjukkan cara menggunakan penerima penunjuk:

func (c *Car) SetBrand(brand string) {
    c.brand = brand
}

Dalam kod di atas, kami mentakrifkan kaedah yang dipanggil SetBrand dan menggunakan penerima penunjuk untuk Mengikat pada jenis Kereta. Oleh itu, apabila kaedah dipanggil, kaedah tersebut akan menerima penunjuk kepada contoh Kereta, bukan contoh Kereta itu sendiri. Ini membolehkan kami mengubah suai sifat kejadian itu.

Ringkasan

Kaedah di Golang ialah alat yang berkuasa untuk mengendalikan jenis. Mereka menjadikan kod lebih modular dan boleh digunakan semula, dan menyediakan pengaturcara dengan cara yang mudah untuk menentukan tingkah laku sesuatu jenis. Sama ada anda baru mengenali Golang atau pakar, memahami kaedah dalam Golang adalah penting untuk menulis kod berkualiti tinggi.

Atas ialah kandungan terperinci Sembang mendalam tentang kaedah dalam golang (tutorial). 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