Go 1.18 memperkenalkan fungsi generik, menyokong parameterisasi jenis dan meningkatkan kebolehgunaan semula kod. Sintaks fungsi generik ialah nama fungsi fungsi [parameter jenis] (parameter jenis parameter input) jenis parameter, dan jenis parameter jenis boleh digunakan sebagai jenis input dan pulangan. Contohnya, Min[T nombor] (a, b T) T, di mana T mestilah daripada jenis angka, a dan b ialah parameter input jenis T, dan nombor yang lebih kecil dikembalikan. Fungsi generik sangat meningkatkan kebolehgunaan semula kod, menjadikannya mungkin untuk menulis kod umum yang boleh digunakan untuk pelbagai jenis.
Aplikasi Fungsi Generik dalam Go
Diperkenalkan dalam Go 1.18 dan lebih baru, generik membenarkan fungsi menerima dan mengembalikan jenis berparameter jenis. Ini sangat meningkatkan kebolehgunaan semula dan fleksibiliti kod.
Syntax
Sintaks fungsi generik adalah seperti berikut:
func myFunc[T any](input T) T { // ... }
Di mana:
myFunc
ialah nama fungsi. myFunc
是函数名称。T any
是类型参数。它可以是任何类型,包括自定义类型。input
是带有类型参数化类型的输入参数。T
是带有类型参数化类型的返回类型。实战案例
假设我们想创建一个函数来计算两个数字的最小值。泛型函数可以让我们用任何数字类型来表示这两个数字,而无需创建多个具有特定类型签名的函数。
我们可以编写如下泛型函数:
func Min[T number](a, b T) T { if a < b { return a } return b }
其中:
T number
表示类型参数 T 必须是 numeric 类型(例如 int、float64)。a
和 b
是输入参数,类型为 T。if-else
T any
ialah parameter jenis. Ia boleh daripada sebarang jenis, termasuk jenis tersuai. Kes Praktikal
🎜🎜 Katakan kita ingin mencipta fungsi untuk mengira minimum dua nombor. Fungsi generik membolehkan kami mewakili kedua-dua nombor ini dengan sebarang jenis nombor tanpa perlu mencipta berbilang fungsi dengan tandatangan jenis tertentu. 🎜🎜Kita boleh menulis fungsi generik berikut: 🎜var a int8 = 10 var b int16 = 20 min := Min(a, b) // 类型推断为 int16 fmt.Println(min) // 输出:10
b
ialah parameter input dengan jenis T. 🎜🎜 if-else
pernyataan membandingkan dua nombor dan mengembalikan nombor yang lebih kecil. 🎜🎜🎜Kita boleh menggunakan fungsi ini untuk mengira nilai minimum bagi jenis nombor yang berbeza: 🎜rrreee🎜🎜Kesimpulan🎜🎜🎜Go generik meningkatkan kebolehgunaan semula dan fleksibiliti kod anda dengan membenarkan fungsi menerima dan mengembalikan jenis yang ditaip . Dengan menggunakan fungsi generik, kita boleh menulis kod generik yang berfungsi merentas pelbagai jenis. 🎜Atas ialah kandungan terperinci Aplikasi fungsi generik Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!