Junior — Middle
É possível implementar avaliação preguiçosa usando a construção let?
sobes.tech IA
Resposta da IA
Em Swift, a construção let é usada para declarar constantes, ou seja, valores que são inicializados uma vez e não mudam. No entanto, let por si só não garante uma avaliação preguiçosa (lazy).
Para implementar uma avaliação preguiçosa em Swift, usa-se a palavra-chave lazy antes da declaração de uma propriedade. Isso significa que o valor será calculado apenas na primeira vez que for acessado.
Exemplo de uma propriedade preguiçosa:
class Example {
lazy var expensiveComputation: Int = {
print("Cálculo realizado")
return (0..<1000000).reduce(0, +)
}()
}
let example = Example()
// Enquanto não acessarmos expensiveComputation, o cálculo não acontece
print(example.expensiveComputation) // Aqui ocorre o cálculo
Portanto, let não é adequado para avaliação lazy; para isso, deve-se usar lazy var.