Lebihan beban fungsi tidak dibenarkan dalam bahasa Go atas sebab berikut: memudahkan pelaksanaan pengkompil, meningkatkan kebolehbacaan kod dan mengelakkan percanggahan nama senarai atau antara muka parameter pembolehubah boleh digunakan dalam Go untuk mencapai tingkah laku yang serupa dengan lebihan fungsi.
Dalam bahasa Go, fungsi lebih muatan (fungsi dengan nama yang sama mempunyai senarai parameter berbeza) adalah dilarang. Ini disebabkan oleh beberapa sebab utama:
Katakan kita ingin menulis fungsi yang mencetak jenis nilai yang berbeza Kita boleh menggunakan fungsi Printf
dalam pakej fmt
dalam Go: fmt
包中的 Printf
函数:
package main import "fmt" func main() { // 打印整数 fmt.Printf("%d\n", 123) // 打印浮点数 fmt.Printf("%.2f\n", 123.45) // 打印字符串 fmt.Printf("%s\n", "Hello, world!") }
虽然 Printf
函数可以处理不同的值类型,但它实际上是一个具有可变数量参数的单个函数。Go 中没有为不同类型的参数列表创建函数重载的语法。
虽然 Go 中没有函数重载,但有一些方法可以实现类似的行为:
Printf
rreee. Printf
boleh mengendalikan jenis nilai yang berbeza, ia sebenarnya adalah fungsi tunggal dengan bilangan argumen yang berubah-ubah. Tiada sintaks dalam Pergi untuk mencipta lebihan fungsi untuk jenis senarai argumen yang berbeza. Printf
, anda boleh mentakrifkan fungsi A dengan bilangan argumen yang berubah-ubah, membenarkannya menerima argumen dari jenis yang berbeza. 🎜🎜🎜Menggunakan Antara Muka: 🎜Antaramuka membenarkan mentakrifkan satu set kaedah yang kemudiannya boleh dilaksanakan oleh jenis yang berbeza. Ini membolehkan kami mencipta berbilang fungsi dengan fungsi yang sama tetapi jenis parameter yang berbeza. 🎜🎜Atas ialah kandungan terperinci Mengapa tiada fungsi lebihan beban dalam golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!