Swift generiklar
Swift generiklar (generics)
Kodni takrorlamasdan to‘g‘rilikni ta’minlash uchun tip parametrlari va cheklovlar yordamida qayta ishlatiladigan kod yozing.
Generik funksiyalar
Generiklar moslashuvchan, qayta ishlatiladigan funksiya va tiplar yozish imkonini beradi.
T kabi joy egasi tip nomidan foydalaning va kerak bo‘lganda uni cheklang.
Sintaksis:
func name<T>(_ a: T) -> Tstruct Box<T> { ... }
Cheklovlar:
T: Comparablewherebloklari — murakkabroq cheklovlar uchun.
Misol
func swapTwo<T>(_ a: inout T, _ b: inout T) {
let tmp = a
a = b
b = tmp
}
var x = 1, y = 2
swapTwo(&x, &y)
print(x)
print(y)
Ushbu misol T tipidagi generik swap funksiyasini e’lon qiladi va uning butun sonlar bilan ishlashini ko‘rsatadi.
Generik cheklovlar (where)
Generik parametrlarni where bloklari yordamida Comparable kabi muayyan talablarga javob beradigan tiplar bilan cheklang.
Misol
func minValue<T: Comparable>(_ a: T, _ b: T) -> T { a < b ? a : b }
print(minValue(3, 7)) // 3
print(minValue("b", "a")) // a
Ushbu misol T ni Comparable bilan cheklaydi, shunda minimumni tanlash uchun < dan foydalanish mumkin bo‘ladi.
Maslahat: Generik parametrlarni cheklang, masalan,
T: Comparable ko‘rinishida — shunda < yoki == kabi amallardan foydalanish mumkin bo‘ladi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
