Junior — Middle
Loyihalaringizda umumiy dasturlashni amalga oshirish uchun qanday usullar va vositalarni bilasiz?
sobes.tech AI
AIdan javob
Go tilida, umumiy dasturlashni amalga oshirish uchun generiklar ishlatiladi, ular Go 1.18 versiyasidan boshlab mavjud bo'ldi.
Asosiy vositalar va usullar:
- Parametrlangan turlar (generiklar) — turli ma'lumot turlari bilan ishlaydigan funksiyalar, tuzilmalar va metodlarni yozishga imkon beradi, kodni takrorlamasdan.
- Cheklovlar bilan interfeyslar (constraints) — generiklarda ishlatilishi mumkin bo'lgan turlar uchun talablarni belgilaydi.
Generiklar bilan funksioning misoli:
package main
import "fmt"
func SumIntsOrFloats[T int | float64](slice []T) T {
var sum T
for _, v := range slice {
sum += v
}
return sum
}
func main() {
ints := []int{1, 2, 3}
floats := []float64{1.1, 2.2, 3.3}
fmt.Println(SumIntsOrFloats(ints)) // 6
fmt.Println(SumIntsOrFloats(floats)) // 6.6
}
Generiklar paydo bo'lishidan oldin, ko'pincha interfeys{} va turlarni konvertatsiya qilish ishlatilgan, ammo bu kamroq xavfsiz va kamroq samarali.