Dasturlash tilida umumiy turlar qanday ishlash mexanizmini tushuntirib berishingiz mumkinmi?
sobes.tech AI
AIdan javob
Dasturlashda generik turlar, turli ma'lumot turlari bilan ishlaydigan funksiyalar, tuzilmalar va turlar yaratishga imkon beradi va bu bilan tur xavfsizligini saqlaydi. Go (Golang) tilida, 1.18 versiyasidan boshlab, generiklarni qo'llab-quvvatlash kiritildi.
Generik turlar mexanizmi, funksiyalar va turlarni tur parametrlari yordamida parametrlashtirish imkonini beradi. Bu shuni anglatadiki, siz bir kod yozishingiz mumkin, u turli ma'lumot turlari bilan ishlaydi, va har bir tur uchun kodni takrorlashga ehtiyoj qolmaydi.
Go'da generik funksiyaning misoli:
package main
import "fmt"
// Har qanday turdagi bo'lakning birinchi elementini qaytaradigan funksiya
func First[T any](slice []T) T {
return slice[0]
}
func main() {
ints := []int{1, 2, 3}
strings := []string{"a", "b", "c"}
fmt.Println(First(ints)) // 1 ni chiqaradi
fmt.Println(First(strings)) // "a" ni chiqaradi
}
Bu yerda, T — tur parametri, u har qanday tur bo'lishi mumkin (any — har qanday turga ruxsat beradigan cheklov). Funksiyani chaqirganda, kompilyator aniq tur bilan almashtiradi.
Shu tarzda, generik turlar kodni qayta ishlatishni oshiradi va tur xavfsizligini ta'minlaydi, performansni yo'qotmasdan.