Sobes.tech
Middle+

Šta su generici u Go? Već ste ih koristili?

sobes.tech АИ

Одговор од АИ

Генерички у 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)) // здраво
}

Користио сам генерике за писање општих контејнера и помоћних функција, што значајно смањује дуплирање кода и побољшава читљивост.