Sobes.tech
Middle+

Go'da generiklar nima? Ustidan foydalanib ko'rdingizmi?

sobes.tech AI

AIdan javob

Go'da jenerikler, turli ma'lumot turlari bilan ishlaydigan funksiyalar, tuzilmalar va interfeyslarni yozishga imkon beradigan tur parametrizatsiya mexanizmi bo'lib, kodni takrorlashdan qochadi. Jenerikler ilk bor Go 1.18 versiyasidan boshlab joriy etildi.

Dizining birinchi elementini qaytaradigan funksiya uchun jeneriklardan foydalanish misoli:

package main
import "fmt"

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

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

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

Keng qamrovli konteynerlar va utilitlarni yozish uchun jeneriklardan foydalanaman, bu kod takrorlanishini sezilarli darajada kamaytiradi va o'qilishi yaxshilanadi.