Switch com Intervalos
Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 30 de 86.
As instruções switch se tornam ainda mais poderosas quando você usa intervalos em vez de valores individuais. Isso é perfeito para categorizar números em grupos, como converter uma pontuação em uma nota.
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}O operador ... cria um intervalo fechado que inclui ambas as extremidades, então 90...100 corresponde a 90, 91, até 100. O operador ..< cria um intervalo semiaberto que exclui o limite superior: 80..<90 corresponde a 80 até 89.
Swift verifica cada case em ordem e executa o primeiro que corresponde. Como nossa pontuação é 85, ela está no intervalo 80..<90, então "B" é exibido. Essa abordagem é muito mais limpa do que escrever várias condições else if com operadores de comparação.
Desafio
FácilEscreva uma função getAgeCategory que receba age e retorne a categoria da etapa da vida com base nas faixas etárias.
Use uma instrução switch com faixas para categorizar a idade em uma das cinco etapas da vida.
Condições:
0...2- retorne"Infant"3...12- retorne"Child"13...19- retorne"Teenager"20...64- retorne"Adult"65...120- retorne"Senior"- Qualquer outro valor - retorne
"Invalid age"
Parâmetros:
age(Int): A idade da pessoa
Retorna: A categoria da etapa da vida como uma String
Experimente você mesmo
func getAgeCategory(age: Int) -> 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 móduloAtribuição compostaRecapitulação - Matemática simplesOperadores de comparação7Entrada e Saída Básicas
Função printInterpolação de stringsEntrada com readlineConversão de tiposRecapitulação - Até 120Recapitulação - Verdadeiro ou falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoRótulos de argumentosRevisão - função SigmaRevisão - função de validaçãoValores padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeradoIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de tipoNúmerosStringBooleanoConvenções de nomenclaturaRecapitulação - Inicializar variáveis5Operadores — Parte 2
Operadores lógicos — Parte 1Operadores lógicos — Parte 2Revisão — Lógica simplesOperadores lógicos — Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz3Optionais
O que são OptionaisDesembrulhando com If LetGuard LetOperador de Coalescência de NilRecapitulação - Desembrulhamento Seguro6Tomada de Decisões
Instrução IfIf - ElseRecapitulação - Calculadora SimplesInstrução SwitchSwitch com Intervalos9Laços de Repetição
Laço For-InLaço WhileLaço Repeat-WhileBreakContinueRevisão - FatorialIntervalos em LaçosLaço AninhadoRevisão - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRevisão - Lista de ProdutosRevisão - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Swift