0Pricing
Swift Academy · Lección

Switch exhaustivo sobre valores

Cubre todos los casos o utilice una rama predeterminada.

Switch exhaustivo sobre valores es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Qué hace switch

Un switch compara un valor con varios casos y ejecuta el primero que coincide. Es una alternativa clara a las cadenas largas de if/else-if.

let day = 3
switch day {
case 1:
    print("Monday")
case 2:
    print("Tuesday")
case 3:
    print("Wednesday")
default:
    print("Other")
}

No hay fallthrough implícito

A diferencia de C, los casos de Swift no pasan automáticamente al siguiente. Después de ejecutar el caso coincidente, el switch termina. No se necesita break.

let n = 1
switch n {
case 1:
    print("one")
case 2:
    print("two")
default:
    print("many")
}

Los switches deben ser exhaustivos

Un switch debe cubrir todos los valores posibles. Para un Int, no puede enumerarlos todos, así que debe proporcionar un caso default.

let code = 500
switch code {
case 200:
    print("OK")
case 404:
    print("Not Found")
default:
    print("Unhandled: \(code)")
}

El caso default

El caso default captura todo lo que no haya coincidido antes. Debe aparecer en último lugar.

let grade = "X"
switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
default:
    print("Needs review")
}

Usar switch con cadenas

Switch funciona con cualquier valor equatable, incluidas las cadenas.

let command = "start"
switch command {
case "start":
    print("Starting")
case "stop":
    print("Stopping")
default:
    print("Unknown command")
}

No hay casos vacíos

Cada caso debe contener al menos una instrucción. Si realmente desea que un caso no haga nada, escriba break.

let n = 2
switch n {
case 1:
    print("one")
case 2:
    break
default:
    print("other")
}
print("done")

Switch como instrucción

Un switch ejecuta instrucciones; no devuelve un valor por sí mismo. Para producir un valor, asígnelo dentro de cada caso o use el switch para llamar a funciones.

let level = 2
var label: String
switch level {
case 1: label = "low"
case 2: label = "mid"
default: label = "high"
}
print(label)

Usar switch con Bool

Puede usar un switch sobre un Bool con los casos true y false. No se necesita default porque ambos casos están cubiertos.

let isReady = true
switch isReady {
case true:
    print("Go")
case false:
    print("Wait")
}

Las enumeraciones no necesitan default

Al usar switch sobre una enumeración y gestionar todos sus casos, el switch ya es exhaustivo y no necesita un default.

enum Direction { case north, south }
let d = Direction.north
switch d {
case .north: print("Up")
case .south: print("Down")
}

Lógica legible de varias opciones

Switch mantiene ordenadas las decisiones entre varias opciones. Cada resultado aparece en su propio caso etiquetado, fácil de revisar y ampliar.

let score = 72
var result: String
switch score {
case 90...100: result = "A"
case 80..<90: result = "B"
case 70..<80: result = "C"
default: result = "F"
}
print(result)

Ubicación de default

default debe ser el último caso. Colocarlo antes haría que los casos posteriores fueran inalcanzables, algo que Swift prohíbe.

let x = 7
switch x {
case 0:
    print("zero")
case 7:
    print("seven")
default:
    print("something else")
}

Comprobación rápida

Pruebe un switch exhaustivo.

Repaso: switch exhaustivo sobre valores

Un switch de Swift coincide con el primer caso, nunca pasa implícitamente al siguiente y debe ser exhaustivo. Use default para tipos abiertos como Int o String; las enumeraciones cuyos casos estén cubiertos por completo no necesitan default.

let n = 3
switch n {
case 1: print("a")
default: print("b")
}

Preguntas frecuentes

¿La lección «Switch exhaustivo sobre valores» es gratis?

Sí — el texto completo de «Switch exhaustivo sobre valores» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Switch exhaustivo sobre valores»?

Cubre todos los casos o utilice una rama predeterminada. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Switch exhaustivo sobre valores»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Switch exhaustivo sobre valores
  2. Comparación de rangos y tuplas
  3. Vinculación de valores y cláusulas where
  4. Casos compuestos y fallthrough
← Volver a Swift Academy