Estrutura Switch
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 29 de 86.
Quando você está verificando um único valor em relação a muitas correspondências possíveis, a instrução switch oferece uma alternativa mais limpa a longas cadeias de else if. Ela é especialmente útil quando você tem múltiplos casos distintos para lidar.
let day = "Monday"
switch day {
case "Monday":
print("Start of the week")
case "Friday":
print("Almost weekend!")
case "Saturday", "Sunday":
print("Weekend!")
default:
print("Regular day")
}O Swift compara o valor após switch com cada case. Quando encontra uma correspondência, ele executa o código desse caso. Observe como você pode combinar múltiplos valores em um único caso usando vírgulas.
O caso default lida com quaisquer valores que não correspondam aos outros casos — ele é obrigatório quando seus casos não cobrem todos os valores possíveis. Ao contrário de algumas outras linguagens, o switch do Swift não passa automaticamente para o próximo caso, então você não precisa de instruções break.
let grade = "B"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
case "C":
print("Fair")
default:
print("Needs improvement")
}Desafio
FácilEscreva uma função getSeasonActivity que recebe season e retorna uma atividade recomendada para essa estação.
Use uma instrução switch para corresponder à estação e retornar a atividade apropriada.
Casos:
"Spring"- retornar"Go hiking""Summer"- retornar"Go swimming""Fall","Autumn"- retornar"Go apple picking"(ambos devem retornar a mesma atividade)"Winter"- retornar"Go skiing"- Qualquer outro valor - retornar
"Stay home"
Parâmetros:
season(String): O nome da estação
Retornos: A atividade recomendada como uma String
Folha de consulta
A instrução switch fornece uma alternativa mais limpa a múltiplas instruções else if ao verificar um único valor em relação a muitas correspondências possíveis.
Sintaxe básica:
let day = "Monday"
switch day {
case "Monday":
print("Start of the week")
case "Friday":
print("Almost weekend!")
case "Saturday", "Sunday":
print("Weekend!")
default:
print("Regular day")
}Pontos-chave:
- O Swift compara o valor após
switchcom cadacase - Múltiplos valores podem ser combinados em um único caso usando vírgulas
- O caso
defaultlida com valores que não correspondem a outros casos e é obrigatório quando os casos não cobrem todos os valores possíveis - O switch do Swift não prossegue automaticamente para o próximo caso (fall through), portanto, instruções
breaknão são necessárias
Exemplo com valores de retorno:
let grade = "B"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
case "C":
print("Fair")
default:
print("Needs improvement")
}Experimente você mesmo
func getSeasonActivity(season: String) -> String {
// Escreva o código aqui
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa