Penghadan fungsi generik Go: hanya parameter jenis disokong, parameter nilai tidak disokong. Pengulangan fungsi tidak disokong. Parameter jenis tidak boleh ditentukan secara eksplisit, ia disimpulkan oleh pengkompil.
Sekatan fungsi generik dalam bahasa Go
Fungsi generik ialah ciri baharu dalam bahasa Go yang membolehkan kami mencipta fungsi dengan parameter jenis yang boleh digunakan pada masa jalan yang disimpulkan. Ini membolehkan kami menulis kod yang lebih serba boleh dan boleh digunakan semula.
Walau bagaimanapun, fungsi generik dalam Go mempunyai beberapa had:
Kes praktikal
Berikut ialah kes praktikal menggunakan fungsi generik:
func Swap[T any](a, b *T) { tmp := *a *a = *b *b = tmp } func main() { a := 10 b := 20 Swap(&a, &b) fmt.Println(a, b) // 输出:20 10 }
Dalam contoh ini, fungsi Swap
ialah fungsi generik yang menerima dua jenis parameterSwap
menggunakan jenis data yang berbeza seperti int
dan string
. Swap
函数是一个泛型函数,它接受两个类型参数 T
的指针。这个函数交换了传递给它的两个值的顺序。通过使用泛型,我们可以使用不同的数据类型(例如 int
和 string
)调用 Swap
函数。
其他限制
除了上面列出的限制之外,泛型函数还有以下限制:
int
和 string
int
dan string
tidak boleh digunakan >) sebagai parameter jenis. 🎜🎜Fungsi generik tidak boleh ditakrifkan melalui jenis alias atau antara muka. 🎜🎜Fungsi generik tidak boleh dibebankan. 🎜🎜Atas ialah kandungan terperinci Apakah batasan fungsi generik di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!