Variables, tipos y seguridad
let vs var, los tipos básicos de Swift, inferencia de tipos e interpolación de strings. La base sólida sobre la que se construye todo lo demás.
Swift es un lenguaje de tipado fuerte y seguro: cada valor tiene un tipo, y el compilador te protege de mezclarlos por error. Lejos de estorbar, esa seguridad es lo que hace que las apps de Swift fallen menos. Empecemos por dominarla.
- Declarar constantes (
let) y variables (var). - Los tipos básicos: Int, Double, String, Bool.
- La inferencia de tipos y cuándo anotarlos.
- Interpolación y seguridad de tipos.
let vs var: constantes y variables
En Swift declaras valores con let (constante, no cambia) o var (variable, puede cambiar):
let pi = 3.14159 // constante: no se puede reasignar
var contador = 0 // variable: sí se puede
contador = contador + 1
// pi = 3.15 // ❌ error de compilación: 'pi' es let
La regla de oro en Swift: usa let por defecto y var solo cuando de verdad necesites cambiar el valor. El compilador incluso te avisa si declaras un var que nunca cambia. Esto no es pedantería: el código con constantes es más fácil de razonar porque sabes que esos valores no se moverán bajo tus pies. Menos estado mutable, menos bugs.
Los tipos básicos
let entero: Int = 42
let decimal: Double = 3.14
let texto: String = "Hola"
let verdadero: Bool = true
Int
Números enteros: 42, -7, 1000. El tipo por defecto para contar.
Double
Números con decimales: 3.14, -0.5. Precisión doble.
String
Texto: “Hola”. Con soporte completo de Unicode y emoji.
Bool
Verdadero o falso: true / false. La base de la lógica.
Inferencia de tipos
Swift deduce el tipo por el valor, así que casi nunca necesitas anotarlo:
let edad = 30 // Swift infiere Int
let altura = 1.75 // Swift infiere Double
let nombre = "Ana" // Swift infiere String
let activo = true // Swift infiere Bool
Anota el tipo solo cuando quieras forzar uno distinto al inferido, o cuando declaras sin valor inicial:
let precio: Double = 10 // sin el ': Double' sería Int
var mensaje: String // declarada ahora, asignada después
mensaje = "Listo"
A diferencia de otros lenguajes, Swift no mezcla tipos numéricos automáticamente. Sumar un Int y un Double da error; tienes que convertir explícitamente:
let a = 5 // Int
let b = 2.0 // Double
// let c = a + b // ❌ error
let c = Double(a) + b // ✅ conviertes a antes de sumarEs más verboso, sí, pero elimina toda una clase de bugs sutiles de conversión.
Interpolación de strings
Inserta valores dentro de un texto con \(...):
let usuario = "William"
let mensajes = 5
print("Hola \(usuario), tienes \(mensajes) mensajes.")
// Hola William, tienes 5 mensajes.
// Puedes meter expresiones enteras:
print("El doble es \(mensajes * 2).")
Strings de varias líneas
Con triples comillas:
let poema = """
Roses are red,
Violets are blue,
Swift is safe,
and so are you.
"""
En un Playground:
- Declara tu edad como
lety tu ciudad comovar. - Cambia la ciudad (funciona) e intenta cambiar la edad (verás el error).
- Crea un
Inty unDoubley súmalos convirtiendo el tipo. - Imprime una frase con interpolación que incluya una operación matemática.