Middle+
Какви са генериците в Go? Вече ги използвахте ли?
sobes.tech AI
Отговор от AI
Генериците в Go са механизъм за параметризация на типове, който позволява писането на функции, структури и интерфейси, работещи с различни типове данни без дублиране на код. Генериците за първи път се появяват в Go от версия 1.18.
Пример за използване на генерики за функция, която връща първия елемент на слайс:
package main
import "fmt"
func First[T any](slice []T) T {
return slice[0]
}
func main() {
nums := []int{1, 2, 3}
words := []string{"здравей", "свят"}
fmt.Println(First(nums)) // 1
fmt.Println(First(words)) // здравей
}
Използвах генерики за писане на общи контейнери и помощни функции, което значително намалява дублирането на код и подобрява четливостта.