Sobes.tech
Junior

Qaysi qiymat turlari mavjud?

sobes.tech AI

AIdan javob

Swift'dagi qiymat turlari — bu turlar bo‘lib, ularning nusxalari tayinlash yoki funktsiyaga uzatishda ko‘paytiriladi. Har bir mustaqil nusxa o‘z saqlash joyiga ega.

Misollar:

  • Structs
  • Enums
  • Tuples
  • Integer, Float, Double, Bool, String, Array, Dictionary, Set
struct Point {
    var x: Int
    var y: Int
}

var p1 = Point(x: 1, y: 2)
var p2 = p1 // Qiymat nusxasi
p2.x = 10 // Nusxani o‘zgartiryapmiz, p1 o‘zgarmaydi

print(p1.x) // Chiqish: 1
print(p2.x) // Chiqish: 10

Afzalliklar:

  • Oldindan bilish mumkin bo‘lgan xulq-atvor, chunki kodning bir qismidagi o‘zgarishlar boshqa nusxalarni ta'sir qilmaydi.
  • Mahalliy qiymatlar bilan ishlashda standart xavfsizlik.

Kamchiliklar:

  • Katta tuzilmalar uchun nusxa olish xarajatli bo‘lishi mumkin.

Refleks turlari bilan taqqoslaganda:

Xususiyat Qiymat turi Refleks turi
Tayinlash Qiymat nusxasi Havola nusxasi
O‘zgartirish Nusxani o‘zgartiradi Asl ob'ektni o‘zgartiradi
Misol struct, enum, tuple, asosiy turlar class, closure