Avatar ·

Qual é a diferença entre `let` e `var` em Swift? Quando usar cada um?

Olá a todos! Comecei a estudar Swift recentemente e surgiu uma dúvida fundamental que parece perseguir todos os iniciantes. Não consigo entender completamente a diferença entre `let` e `var`. Li que `let` é uma constante e `var` é uma variável. Mas na prática, me confundo. Por exemplo, escrevi este código: ```swift var myName = "Alexey" myName = "Ivan" print(myName) // Imprime "Ivan" — tudo claro, é uma variável ``` Depois tentei o mesmo com `let`: ```swift let myAge = 25 myAge = 30 // Erro: Cannot assign to value: 'myAge' is a 'let' constant ``` Aqui tudo faz sentido — o compilador reclama. Mas então li que `let` pode ser indefinido até o primeiro uso. Tentei fazer assim: ```swift let userName: String // Algum código... userName = "Peter" // Isso funciona? ``` E funcionou! Então qual é o sentido? Por que não usar sempre `var`? O que me confunde especialmente é que, em exemplos no Stack Overflow e na documentação oficial