Swift promovează stilul defensiv de programare ‘early exit’ prin instrucțiunea `guard let`. Aceasta verifică validitatea condițiilor la începutul funcției și forțează ieșirea dacă acestea nu sunt îndeplinite, menținând variabilele despachetate (unwrapped) în întregul domeniu ulterior. Blocul `defer` garantează execuția codului de curățare la părăsirea funcției.
Programare Defensivă și Garanții de Curățare
Elimină imbricarea adâncă ‘Pyramid of Doom’ cauzată de if-uri multiple și previne scurgerile de resurse native.
func processFile(at path: String) throws {
guard let fileURL = URL(string: path) else {
throw AppError.invalidPath
}
let handle = try FileHandle(forReadingFrom: fileURL)
defer {
// Garantat să ruleze indiferent dacă funcția iese normal sau aruncă eroare:
try? handle.close()
}
let data = handle.readDataToEndOfFile()
print("Citit \(data.count) octeți.")
}
Stăpânirea acestei funcționalități în Swift 6 asigură dezvoltarea unor aplicații native iOS și macOS performante, sigure la nivel de memorie și perfect integrate în ecosistemul modern Apple.
Întrebări & Exemple de Cod:
Flux de Control Defensiv: instrucțiunile guard, defer și fallthrough în SwiftAi o nelămurire despre utilizarea comenzii
Flux de Control Defensiv: instrucțiunile guard, defer și fallthrough în Swiftsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.