Saltar al contenido

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):

SWIFT
let pi = 3.14159      // constante: no se puede reasignarvar contador = 0      // variable: sí se puedecontador = contador + 1// pi = 3.15          // error de compilación: 'pi' es let

Prefiere let siempre que puedas

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

SWIFT
let entero: Int = 42let decimal: Double = 3.14let 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:

SWIFT
let edad = 30          // Swift infiere Intlet altura = 1.75      // Swift infiere Doublelet nombre = "Ana"     // Swift infiere Stringlet activo = true      // Swift infiere Bool

Anota el tipo solo cuando quieras forzar uno distinto al inferido, o cuando declaras sin valor inicial:

SWIFT
let precio: Double = 10        // sin el ': Double' sería Intvar mensaje: String            // declarada ahora, asignada despuésmensaje = "Listo"

Swift no convierte tipos por ti

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:

SWIFT
let a = 5           // Intlet b = 2.0         // Double// let c = a + b    // error: no compilalet c = Double(a) + b   // BIEN: conviertes a antes de sumar

Es 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 \(...):

SWIFT
let usuario = "William"let mensajes = 5print("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:

SWIFT
let poema = """    Roses are red,    Violets are blue,    Swift is safe,    and so are you.    """

Practica los cimientos

En un Playground:

  1. Declara tu edad como let y tu ciudad como var.
  2. Cambia la ciudad (funciona) e intenta cambiar la edad (verás el error).
  3. Crea un Int y un Double y súmalos convirtiendo el tipo.
  4. Imprime una frase con interpolación que incluya una operación matemática.