Sobes.tech
Junior — Middle

Massiv elementlərinə giriş operatorunun istifadəsi sərhədlərdən çıxmağa qarşı qoruma təmin edir?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də, massiv elementlərinə giriş operatoru (məsələn, array[index]) sərhəd aşımını təmin etmir. Əgər indeks massiv sərhədlərindən kənara çıxarsa, tətbiq iş vaxtında xəta verəcək və qəza ilə bağlanacaq.

Təhlükəsiz giriş üçün, indeks yoxlaması edən və opsional dəyər qaytaran metodlardan istifadə etmək olar, məsələn, indeks yoxlaması ilə genişlənmə:

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, təhlükəsiz

Beləliklə, standart operator qoruma təmin etmir və inkişaf etdirici sərhədləri özünün yoxlamalıdır.