Sobes.tech
Middle+

Co jsou generika v Go? Už jste je použili?

sobes.tech AI

Odpověď od AI

Generika v Go jsou mechanismus parametrizace typů, který umožňuje psát funkce, struktury a rozhraní, které pracují s různými datovými typy bez duplikace kódu. Generika se poprvé objevila v Go od verze 1.18.

Příklad použití generik pro funkci, která vrací první prvek slice:

package main
import "fmt"

func First[T any](slice []T) T {
    return slice[0]
}

func main() {
    nums := []int{1, 2, 3}
    words := []string{"ahoj", "svět"}

    fmt.Println(First(nums))  // 1
    fmt.Println(First(words)) // ahoj
}

Použil jsem generika k psaní obecných kontejnerů a utilit, což výrazně snižuje duplicitní kód a zlepšuje čitelnost.