Junior — Middle
Este posibil să se implementeze evaluarea lene folosind construcția let?
sobes.tech AI
Răspuns de la AI
În Swift, construcția let este utilizată pentru declararea constantelor, adică valori care sunt inițializate o singură dată și nu se schimbă. Cu toate acestea, let în sine nu asigură o evaluare leneșă (lazy).
Pentru a implementa o evaluare leneșă în Swift, se folosește cuvântul cheie lazy înainte de declarația unei proprietăți. Aceasta înseamnă că valoarea va fi calculată doar la prima accesare.
Exemplu de proprietate leneșă:
class Example {
lazy var expensiveComputation: Int = {
print("Calcul realizat")
return (0..<1000000).reduce(0, +)
}()
}
let example = Example()
// Până nu accesăm expensiveComputation, calculul nu are loc
print(example.expensiveComputation) // Aici are loc calculul
Prin urmare, let nu este potrivit pentru evaluare lazy; pentru aceasta, trebuie folosit lazy var.