Junior — Middle
Мо метавонед шарҳ диҳед, ки чӣ гуна намудҳои арзиш дар барномасозӣ ҳастанд?
sobes.tech AI
Ҷавоб аз AI
Намудҳои арзиш дар барномасозӣ навъҳои маълумот мебошанд, ки намунаҳои онҳо мустақиман дар хотираи тағйирёбанда нигоҳ дошта мешаванд. Ҳангоми таъин ё гузаронидани чунин намудҳо, нусхаи арзиш сохта мешавад, на истинод ба объекти аслӣ.
Масаланҳои намуди арзиш дар Swift (ки аксар дар iOS истифода мешаванд):
Int,Double,Bool— навъҳои рақамӣ ва мантиқӣ асосӣ.Struct(структураҳо) — навъҳои истифодабаранда, ки ҳангоми таъин нусхабардорӣ мешаванд.Enum(номбарҳо).
Барои фарқ аз навъҳои истинодӣ, мисли синфҳо (class), ки тағйирёбанда истинод ба объект дар хотираро дорад, намуди арзишҳо бехатариро аз тағйироти ниятнок тавассути нусхаҳо таъмин мекунанд.
Масалан:
struct Point {
var x: Int
var y: Int
}
var p1 = Point(x: 10, y: 20)
var p2 = p1 // нусхаи сохта мешавад
p2.x = 30
print(p1.x) // 10 — p1 тағйир наёфтааст
Ин барои пешгӯӣпазирӣ ва бехатарии коди, махсусан дар барномаҳои бисёрсоҳавӣ, муҳим аст.