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 constantsomeValue
amb el valor 3. - Sentència
switch
: La sentènciaswitch
avalua el valor desomeValue
. - 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
i65...
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.
Curs de Programació en Swift
Mòdul 1: Introducció a Swift
- Introducció a Swift
- Configuració de l'Entorn de Desenvolupament
- El Teu Primer Programa en Swift
- Sintaxi i Estructura Bàsica
- Variables i Constants
- Tipus de Dades
Mòdul 2: Flux de Control
Mòdul 3: Funcions i Closures
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Closures
- Funcions d'Ordre Superior
Mòdul 4: Programació Orientada a Objectes
Mòdul 5: Swift Avançat
Mòdul 6: Swift i Desenvolupament iOS
- Introducció al Desenvolupament iOS
- Conceptes Bàsics de UIKit
- Storyboards i Interface Builder
- Xarxes en Swift
- Core Data
- Conceptes Bàsics de SwiftUI