Middle
Масивҳо дар забони Swift чӣ гуна сохта шудаанд?
sobes.tech AI
Ҷавоб аз AI
Масивҳо дар Swift маҷмӯаҳои тартибдодашудаи унсурҳои як навъро намояндагӣ мекунанд. Онҳо навъҳои арзишӣ (структураҳо) мебошанд, баръакс аз NSArray дар Objective-C.
Хусусиятҳои асосӣ:
- Бехатарии навъ: Масивҳо танҳо унсурҳои як навъро доранд. кӯшиши илова кардани унсури навъи дигар хатогии компилятсияро ба вуҷуд меорад.
- Тартиб: Унсурҳо дар як пайдарпайии муайян нигоҳ дошта мешаванд ва ба онҳо тавассути индекс, аз 0 оғоз карда, дастрасӣ кардан мумкин аст.
- Тавоноии тағирёбӣ: Масивҳо метавонанд тағирёбанда бошанд (агар бо
varэълон шаванд) ё тағирнопазир (агар боletэълон шаванд). - Навъи арзиш: Вақте ки масив ба тағирёбандаи нав ё ба функсия дода мешавад, нусха гирифта мешавад (copy-on-write). Ин маъно дорад, ки тағирот дар нусха ба оригинал таъсир намерасонад, то даме ки тағироти воқеӣ анҷом дода шавад, ки ин самаранокии иҷроиро беҳтар мекунад.
Амалиётҳои асосӣ:
-
Эҷод:
// Масив холӣ var emptyArray: [Int] = [] // Масив бо арзишҳои ибтидоӣ var numbers = [1, 2, 3] -
Дастрасӣ ба унсурҳо:
let firstElement = numbers[0] -
Илова кардани унсурҳо:
numbers.append(4) numbers += [5, 6] -
Баъд аз он, ки унсурҳоро хориҷ кардан:
numbers.remove(at: 0) numbers.removeLast() -
Итератсия:
for number in numbers { print(number) } -
Гирифтани шумораи унсурҳо:
let count = numbers.count
Масивҳо методҳои муфидро, ба монанди filter, map, reduce, барои трансформатсияҳои функсионалӣ дастгирӣ мекунанд.