Swift generiklar


ULASHISH

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) -> T
  • struct Box<T> { ... }

Cheklovlar:

  • T: Comparable
  • where bloklari — 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)

O‘zingiz sinab ko‘ring »

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

O‘zingiz sinab ko‘ring »

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!