Bahasa Go tidak menyokong lebihan fungsi tradisional, tetapi kefungsian serupa dicapai melalui alternatif berikut: Menggunakan nama fungsi yang berbeza Menggunakan penggunaan antara muka
Had lebihan fungsi dalam bahasa Go
Fungsi lebihan pemuatan ialah dua Merujuk kepada dua. atau lebih banyak fungsi dengan nama yang sama tetapi senarai parameter yang berbeza dalam skop yang sama. Bahasa Go tidak menyokong lebihan fungsi dalam erti kata tradisional, tetapi dalam keadaan tertentu, kefungsian yang serupa boleh dicapai dengan cara lain.
Sekatan
Fungsi berlebihan dalam bahasa Go tertakluk kepada sekatan berikut:
Gunakan antara muka: Buat antara muka di mana anda mengisytiharkan fungsi dengan tandatangan parameter berbeza dan mempunyai berbilang jenis yang melaksanakan antara muka.
Penggunaan:
Tentukan kaedah untuk struct, menggunakan nama fungsi yang sama tetapi jenis penerima yang berbeza.type Shape interface { Area() float64 } type Rectangle struct { width, height float64 } func (r Rectangle) Area() float64 { return r.width * r.height } type Circle struct { radius float64 } func (c Circle) Area() float64 { return math.Pi * c.radius * c.radius } func main() { rect := Rectangle{width: 4, height: 5} circle := Circle{radius: 5} fmt.Println(rect.Area()) // 输出:20 fmt.Println(circle.Area()) // 输出:78.53981633974483 }
Atas ialah kandungan terperinci Dalam cara apakah pelaksanaan lebihan fungsi di Golang terhad?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!