Junior — Middle
Massiv elementlariga kirish operatoridan foydalanish chegaradan chiqishni oldini oladimi?
sobes.tech AI
AIdan javob
Swiftda, massiv elementlariga kirish operatori (masalan, array[index]) chegara oshib ketishni himoya qilmaydi. Agar indeks massiv chegaralaridan tashqarida bo‘lsa, ilova ish vaqtida xato chiqaradi va to‘xtab qoladi.
Xavfsiz kirish uchun, indeksni tekshiradigan va opsional qiymat qaytaradigan metodlardan foydalanish mumkin, masalan, indeks tekshiruvi bilan kengaytma:
extension Array {
func safeGet(index: Int) -> Element? {
return indices.contains(index) ? self[index] : nil
}
}
let arr = [1, 2, 3]
print(arr.safeGet(index: 5)) // nil, xavfsiz
Shunday qilib, standart operator himoya qilmaydi, va dasturchi chegaralarni nazorat qilish uchun o‘zi javobgar bo‘lishi kerak.