Sobes.tech
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)) // здравей
}

Използвах генерики за писане на общи контейнери и помощни функции, което значително намалява дублирането на код и подобрява четливостта.