Rumah > Artikel > pembangunan bahagian belakang > Reka bentuk kaedah umum golang
Memandangkan semakin ramai pembangun berminat dengan bahasa Go, semakin ramai orang menggunakan bahasa pengaturcaraan yang cekap dan mudah ini. Beberapa pustaka dan rangka kerja bahasa Go yang biasa digunakan juga telah mendapat lebih banyak perhatian, seperti Gin, Echo, gRPC, dsb.
Walau bagaimanapun, bagi pembangun yang ingin menulis kaedah biasa dalam Go, rangka kerja dan perpustakaan ini tidak selalunya terpakai semasa menulis API biasa. Walau bagaimanapun, ini tidak bermakna anda tidak boleh menulis kaedah generik anda sendiri untuk meningkatkan kebolehgunaan semula kod dan meningkatkan kecekapan pembangunan.
Dalam artikel ini, kami akan memperkenalkan beberapa kaedah asas untuk mereka bentuk fungsi dan kaedah biasa. Kami akan membincangkan topik berikut:
Cara mentakrifkan fungsi dan kaedah universal
Mentakrifkan fungsi dan kaedah universal hendaklah berdasarkan dua prinsip: ketekalan input dan output.
Ketekalan input bermakna jenis dan nombor parameter input perlu mempunyai gelagat yang sama dalam senario yang berbeza, manakala ketekalan output bermakna keputusan output harus sama. Kedua-dua perkara ini sangat penting kerana kedua-duanya meningkatkan kebolehgunaan semula kod anda dan kebolehramalan kod anda.
Berikut ialah beberapa cara untuk meningkatkan kebolehgunaan semula dan kebolehramalan kod anda:
Cara menggunakan antara muka bahasa Go
Antara muka ialah jenis yang digunakan untuk menerangkan objek dan kaedah komunikasi antara objek. Dalam Go, antara muka ialah satu set tandatangan fungsi yang mentakrifkan gelagat sesuatu objek. Dengan mentakrifkan antara muka, kita boleh mentakrifkan fungsi dan kaedah biasa antara objek yang berbeza, dan fungsi dan kaedah ini boleh digunakan dalam objek yang berbeza dengan mengikuti konvensyen antara muka ini.
Menggunakan antara muka dalam bahasa Go mempunyai faedah berikut:
Berikut ialah contoh praktikal yang menunjukkan cara menggunakan antara muka untuk menentukan kaedah biasa:
type User interface { GetName() string GetAge() int } func printUser(u User) { fmt.Printf("Name: %s, Age: %d", u.GetName(), u.GetAge()) }
Dalam kod ini, kami mentakrifkan antara muka bernama Pengguna, yang Terdapat dua kaedah: GetName dan GetAge.
Kemudian kami menulis fungsi yang dipanggil printUser, yang menerima parameter jenis antara muka Pengguna. Fungsi ini akan memanggil kaedah antara muka secara seragam, kerana antara muka ini dinyatakan oleh semua objek Pengguna yang melaksanakan tingkah laku yang sama.
Contoh ini menggambarkan cara mentakrifkan kaedah biasa dengan menggunakan antara muka bahasa Go.
Kod Contoh
Berikut ialah kod sampel yang menggunakan antara muka bahasa Go untuk mentakrifkan API Pengelogan umum:
type Logger interface { Log(message string) } func LogMessage(logger Logger, message string) { logger.Log(message) }
Dalam contoh ini, kami mentakrifkan antara muka yang dinamakan Logger mempunyai kaedah Log, yang digunakan untuk log mesej. Kami juga mentakrifkan fungsi LogMessage yang lain, yang menerima logger parameter jenis Logger, dan mesej parameter jenis rentetan. Ia mentakrifkan API Pengelogan biasa antara objek yang berbeza dan boleh dipanggil dengan mengikuti antara muka Logger.
Seterusnya kita boleh menentukan pelaksanaan log khusus untuk melaksanakan kaedah Log. Kod sampel adalah seperti berikut:
type ConsoleLogger struct{} func (r ConsoleLogger) Log(message string) { fmt.Println(message) } type FileLogger struct { file *os.File } func (r FileLogger) Log(message string) { r.file.WriteString(message) }
Kami melihat bahawa ConsoleLogger dan FileLogger yang sepadan melaksanakan kaedah Log, yang memenuhi konvensyen antara muka API Pengelogan, dengan itu membolehkan pembangunan fungsi umum.
Kesimpulan
Go ialah bahasa yang sangat sesuai untuk menulis kod yang cekap dan boleh digunakan semula. Dalam artikel ini, kami membincangkan cara untuk mentakrifkan fungsi dan kaedah biasa, serta memperkenalkan cara menggunakan antara muka bahasa Go untuk melaksanakan penulisan API biasa. Kami juga menyediakan kod sampel untuk membantu memahami proses tersebut. Untuk meningkatkan kebolehgunaan semula kod dan meningkatkan kecekapan pembangunan, anda boleh menggunakan kaedah yang diperkenalkan ini untuk menulis API biasa anda sendiri.
Atas ialah kandungan terperinci Reka bentuk kaedah umum golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!