Sobes.tech
Junior — Middle

Go tilida qanday umumiy dasturlash turlari mavjud?

sobes.tech AI

AIdan javob

Go tilida umumiy dasturlash generiklar orqali amalga oshiriladi, ular 1.18-versiyadan boshlab paydo bo‘ldi. Go'dagi asosiy generik turlar quyidagilardan iborat:

  • Parametrli turlar (generik turlar): funksiyalar va turlar parametrlar sifatida turlarni qabul qilishi mumkin, bu umumiy kod yozishni ta'minlaydi.
  • Cheklovlarga ega interfeyslar (turlar cheklovlari): parametr turlariga talablar belgilaydi, masalan, tur ma'lum metodlarni qo‘llab-quvvatlashi yoki aniq turlar to‘plamiga kirishi.

Slice uchun generik funksiyaning misoli:

func IndexOf[T comparable](slice []T, val T) int {
    for i, v := range slice {
        if v == val {
            return i
        }
    }
    return -1
}

Bu yerda, T comparable interfeys bilan cheklangan tur parametri bo‘lib, == operatoridan foydalanishga imkon beradi. Bu funksiya har qanday solishtiriladigan turlar uchun umumiy.

Shu tarzda, Go turlar parametrizatsiyasi va cheklovlar orqali generiklarni qo‘llab-quvvatlaydi, bu esa kodning moslashuvchanligi va qayta ishlatilishini oshiradi.