¿Cuál es la diferencia entre `let` y `var` en Swift? ¿Cuándo usar cada uno?
¡Hola a todos! Acabo de empezar a aprender Swift y tengo una pregunta fundamental que parece perseguir a todos los principiantes. No puedo entender completamente la diferencia entre `let` y `var`.
Leí que `let` es una constante y `var` es una variable. Pero en la práctica, me encuentro con confusión. Por ejemplo, escribí este código:
```swift
var myName = "Алексей"
myName = "Иван"
print(myName) // Imprime "Иван" — todo claro, es una variable
```
Pero luego intenté lo mismo con `let`:
```swift
let myAge = 25
myAge = 30 // Error: Cannot assign to value: 'myAge' is a 'let' constant
```
Aquí todo es lógico: el compilador se queja. Pero luego leí que `let` puede ser indefinido hasta el primer uso. Intenté hacer esto:
```swift
let userName: String
// Algún código...
userName = "Петр" // ¿Esto funciona?
```
¡Y funcionó! Entonces, ¿cuál es el sentido? ¿Por qué no usar siempre `var`? Me confunde especialmente que en ejemplos de Stack Overflow y en la documentación oficial