Sobes.tech
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.