Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengenalan terperinci kepada kaedah panggilan di Golang

Pengenalan terperinci kepada kaedah panggilan di Golang

PHPz
PHPzasal
2023-04-14 13:33:23692semak imbas

Golang ialah bahasa pengaturcaraan yang semakin popular digemari oleh pembangun kerana kesederhanaan dan kecekapannya. Golang menyediakan sokongan serentak yang baik dan prestasi cemerlang pada peringkat bahasa, yang menjadikannya pilihan yang baik untuk membina aplikasi, perkhidmatan, rangka kerja dan perpustakaan berprestasi tinggi. Di Golang, kita boleh menggunakan pelbagai cara untuk memanggil fungsi dan kaedah Artikel ini akan memperkenalkan kaedah panggilan di Golang secara terperinci.

1. Gambaran keseluruhan panggilan kaedah

Di Golang, panggilan kaedah merujuk kepada memanggil kaedah pada jenis struktur (atau jenis penunjuknya). Sintaks kaedah dan fungsi sangat serupa, tetapi semantiknya berbeza. Kaedah di Golang boleh dianggap sebagai fungsi yang dilampirkan pada jenis, jadi kaedah mesti ditakrifkan pada jenis tertentu, manakala fungsi ditakrifkan dalam ruang nama global.

Di Golang, kami melaksanakan penyebutan kaedah dengan mentakrifkan penerima kaedah Penerima boleh menjadi jenis struktur atau jenis penunjuknya. Secara amnya, kita boleh mentakrifkan penerima dengan cara berikut:

func (receiver_type) method_name(parameters) return_type {

//函数实现

}

di mana, receiver_type menentukan jenis penerima, method_name ialah nama kaedah, parameter ialah senarai parameter kaedah, dan return_type ialah jenis nilai pulangan kaedah.

2. Kaedah memanggil jenis struktur

Berikut ialah contoh mudah yang menunjukkan cara mentakrif dan memanggil kaedah pada jenis struktur:

taip struct Pekerja {

name   string
salary int

}

func (e Pekerja) paparanGaji() {

fmt.Printf("Salary of %s is %d\n", e.name, e.salary)

}

func main() {

emp := Employee{name: "Jade", salary: 5000}
emp.displaySalary()

}

Dalam contoh di atas, kami mentakrifkan jenis struktur bernama Pekerja dan mentakrifkan kaedah paparanGaji, yang digunakan untuk mencetak maklumat gaji Pekerja tertentu. Dalam fungsi utama, kami membuat instantiat objek Pekerja dan kemudian memanggil kaedah displaySalary untuk memaparkan maklumat gajinya.

Hasil keluaran ialah:

Gaji Jade ialah 5000

Contoh ini mudah, tetapi ia menunjukkan konsep asas kaedah panggilan di Golang. Kami telah menentukan kaedah dengan jenis penerima sebagai Pekerja dan menggunakannya dalam fungsi utama dengan memanggil kaedah pada objek Pekerja.

3. Panggilan kaedah jenis penunjuk struktur

Dalam contoh di atas, kami menentukan kaedah dengan jenis penerima Pekerja, yang merupakan contoh jenis struktur. Walau bagaimanapun, dalam semantik berasaskan penunjuk, kita sering perlu mentakrifkan dan menggunakan jenis penunjuk yang menunjuk kepada struktur, jadi dalam Golang, kita juga boleh mentakrifkan dan memanggil kaedah pada penunjuk struktur.

Berikut ialah contoh yang menunjukkan cara mentakrif dan memanggil kaedah pada penunjuk struct:

taip struct Pekerja {

name   string
salary int

}

func ( e *Pekerja) paparanGaji() {

fmt.Printf("Salary of %s is %d\n", e.name, e.salary)

}

func main() {

emp := &Employee{name: "Jade", salary: 5000}
emp.displaySalary()

}

dalam contoh di atas , kami menukar jenis penerima kepada penunjuk kepada struktur Pekerja. Kami mentakrifkan kaedah yang dipanggil displaySalary dan menggunakan penunjuk kepada Pekerja sebagai penerimanya. Dalam fungsi utama, kami membuat instantiate penuding ke objek Pekerja dan memanggil kaedah displaySalary melalui penunjuk untuk memaparkan maklumat gajinya.

Keluarannya ialah:

Gaji Jade ialah 5000

Contoh ini sangat serupa dengan yang di atas, tetapi ia menunjukkan penggunaan semantik berasaskan penunjuk untuk mentakrifkan dalam Golang dan kaedah memanggil kaedah.

4. Tentukan dan panggil kaedah dalam antara muka

Antara muka dalam Golang ialah jenis yang menerangkan kelakuan objek dan bukannya data. Antara muka boleh mentakrifkan satu set kaedah yang memfokuskan pada tingkah laku objek dan bukannya pelaksanaan objek. Antara muka adalah bahagian penting dalam Golang kerana ia menyediakan cara untuk mentakrif dan melaksanakan polimorfisme.

Berikut ialah contoh yang menunjukkan cara mentakrif dan memanggil kaedah dalam antara muka:

taip antara muka SalaryCalculator {

displaySalary()

}

taip Pekerja struct {

name   string
salary int

}

fungsi (e Pekerja) paparanGaji() {

fmt.Printf("Salary of %s is %d\n", e.name, e.salary)

}

fungsi utama() {

emp := Employee{name: "Jade", salary: 5000}
var empSalary SalaryCalculator = emp
empSalary.displaySalary()

}

Dalam contoh di atas, kami mentakrifkan antara muka SalaryCalculator, yang mentakrifkan kaedah paparanGaji. Kami juga menentukan jenis struktur Pekerja dan menggunakan kaedah paparanGaji untuk mencetak maklumat gaji Pekerja.

Dalam fungsi utama, kami membuat instantiat objek Pekerja dan kemudian menetapkannya kepada jenis antara muka SalaryCalculator. Seterusnya, kami menggunakan antara muka SalaryCalculator untuk memanggil kaedah displaySalary Golang akan mencari pelaksanaan kaedah ini dalam pelaksanaan jenis Pekerja dan melaksanakannya.

Outputnya ialah:

Gaji Jade ialah 5000

Contoh ini menunjukkan cara mentakrif dan menggunakan kaedah dalam antara muka. Ia menunjukkan bahawa kita boleh menentukan kaedah dalam antara muka dan memanggil kaedah pada jenis antara muka.

5. Ringkasan

Artikel ini memperkenalkan pelbagai cara untuk mentakrif dan memanggil kaedah dalam Golang. Kami telah melihat cara untuk mentakrif dan memanggil kaedah pada jenis struct dan jenis penunjuk, dan cara untuk mentakrif dan menggunakan kaedah pada jenis antara muka. Sama ada anda seorang pemula atau pembangun yang berpengalaman, anda akan mendapat beberapa petua dan manfaat yang berguna.

Ringkasnya, Golang ialah bahasa pengaturcaraan yang sangat berkuasa dengan sintaks yang ringkas dan cekap, sokongan serentak yang baik dan prestasi cemerlang. Apabila menggunakan panggilan kaedah, kita boleh beralih daripada panggilan jenis struct ringkas kepada panggilan jenis antara muka yang kompleks, yang menjadikan Golang sesuai untuk membina aplikasi dan perkhidmatan berprestasi tinggi. Saya harap artikel ini dapat membantu anda lebih memahami kaedah panggilan di Golang.

Atas ialah kandungan terperinci Pengenalan terperinci kepada kaedah panggilan di Golang. 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