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.