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.