Les sentències switch en Swift són una manera poderosa i flexible de controlar el flux del programa basant-se en el valor d'una variable. A diferència d'altres llenguatges de programació, les sentències switch en Swift no necessiten una instrucció break per evitar la caiguda a través dels casos, i poden treballar amb una àmplia varietat de tipus de dades.

Conceptes Clau

  • Sintaxi Bàsica: La sintaxi d'una sentència switch en Swift és clara i concisa.
  • Casos: Cada cas en una sentència switch pot contenir múltiples valors.
  • Interval de Valors: Els casos poden utilitzar intervals de valors.
  • Casos amb Condicions: Els casos poden tenir condicions addicionals.
  • Cas per Defecte: Un cas default és utilitzat per capturar qualsevol valor que no coincideixi amb els casos anteriors.

Sintaxi Bàsica

La sintaxi bàsica d'una sentència switch és la següent:

let someValue = 3

switch someValue {
case 1:
    print("El valor és 1")
case 2, 3, 4:
    print("El valor és 2, 3 o 4")
default:
    print("El valor no és 1, 2, 3 ni 4")
}

Explicació del Codi

  • Declaració de la Variable: let someValue = 3 declara una constant someValue amb el valor 3.
  • Sentència switch: La sentència switch avalua el valor de someValue.
  • Casos: Cada cas és comparat amb el valor de someValue. Si hi ha una coincidència, s'executa el bloc de codi corresponent.
  • Cas per Defecte: Si cap cas coincideix, s'executa el bloc de codi del cas default.

Casos amb Intervals de Valors

Els casos poden utilitzar intervals de valors per simplificar el codi:

let age = 25

switch age {
case 0...12:
    print("Ets un nen")
case 13...19:
    print("Ets un adolescent")
case 20...64:
    print("Ets un adult")
case 65...:
    print("Ets un ancià")
default:
    print("Edat desconeguda")
}

Explicació del Codi

  • Intervals de Valors: Els intervals 0...12, 13...19, 20...64 i 65... permeten agrupar rangs d'edats en categories.

Casos amb Condicions Addicionals

Els casos poden tenir condicions addicionals utilitzant la paraula clau where:

let temperature = 30

switch temperature {
case let t where t < 0:
    print("Fa molt fred")
case 0...15:
    print("Fa fred")
case 16...25:
    print("Fa una temperatura agradable")
case 26...35:
    print("Fa calor")
case let t where t > 35:
    print("Fa molta calor")
default:
    print("Temperatura desconeguda")
}

Explicació del Codi

  • Condicions Addicionals: Utilitzant where, podem afegir condicions addicionals als casos per fer el codi més expressiu.

Exercicis Pràctics

Exercici 1

Escriu una sentència switch que classifiqui un nombre donat com a "parell" o "senar".

let number = 7

switch number % 2 {
case 0:
    print("El nombre és parell")
case 1:
    print("El nombre és senar")
default:
    print("Error")
}

Solució

let number = 7

switch number % 2 {
case 0:
    print("El nombre és parell")
case 1:
    print("El nombre és senar")
default:
    print("Error")
}

Exercici 2

Escriu una sentència switch que classifiqui una nota (0-100) en les categories següents: "Suspès", "Aprovat", "Notable", "Excel·lent".

let grade = 85

switch grade {
case 0...49:
    print("Suspès")
case 50...64:
    print("Aprovat")
case 65...84:
    print("Notable")
case 85...100:
    print("Excel·lent")
default:
    print("Nota fora de rang")
}

Solució

let grade = 85

switch grade {
case 0...49:
    print("Suspès")
case 50...64:
    print("Aprovat")
case 65...84:
    print("Notable")
case 85...100:
    print("Excel·lent")
default:
    print("Nota fora de rang")
}

Resum

Les sentències switch en Swift són una eina poderosa per controlar el flux del programa basant-se en el valor d'una variable. A diferència d'altres llenguatges, no necessiten una instrucció break i poden treballar amb intervals de valors i condicions addicionals. Practicar amb diferents exemples i exercicis ajudarà a comprendre millor com utilitzar aquesta característica de manera efectiva.

© Copyright 2024. Tots els drets reservats