Sobes.tech
Middle+

Mis on generikud Go-s? Kas olete juba kasutanud?

sobes.tech AI

Vastus AI-lt

Generics Go-s on tüübi parametriseerimise mehhanism, mis võimaldab kirjutada funktsioone, struktuure ja liideseid, mis töötavad erinevate andmetüüpidega ilma koodi dubleerimata. Generics ilmusid esmakordselt Go-s alates versioonist 1.18.

Näide generikute kasutamisest funktsioonile, mis tagastab esimese elemendi järjendist:

package main
import "fmt"

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

func main() {
    nums := []int{1, 2, 3}
    words := []string{"tere", "maailm"}

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

Ma kasutasin generikke, et kirjutada üldisi konteinerid ja utiliidid, mis oluliselt vähendavad koodi dubleerimist ja parandavad loetavust.