Break
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 45 de 86.
Às vezes, você precisa sair de um loop antecipadamente, antes que ele termine todas as suas iterações. A instrução break interrompe imediatamente o loop e continua com o código após ele.
for number in 1...10 {
if number == 5 {
break
}
print(number)
}
// Saída: 1, 2, 3, 4Quando number atinge 5, a instrução break é executada e o loop para completamente. Observe que o próprio 5 nunca é impresso porque o break sai antes de atingir a instrução print.
A instrução break funciona com todos os tipos de loop. Aqui está um exemplo com um loop while que procura por um valor específico:
var count = 0
while true {
count += 1
if count == 3 {
break
}
}
print(count) // Saída: 3Este padrão é útil quando você está procurando por algo e deseja parar assim que o encontrar, em vez de continuar por iterações desnecessárias.
Desafio
FácilEscreva uma função findFirstMultiple que recebe limit e divisor e retorna o primeiro número (começando de 1) que é divisível pelo divisor.
Use um loop para iterar através dos números começando de 1 até o limite. Quando você encontrar um número divisível pelo divisor, use break para sair do loop imediatamente e retornar esse número.
Lógica:
- Percorra os números de 1 até
limit - Verifique se o número atual é divisível por
divisor(o resto é 0) - Se encontrado, saia do loop e retorne esse número
- Se nenhum múltiplo for encontrado dentro do limite, retorne
-1
Parâmetros:
limit(Int): O limite superior para a busca (inclusive)divisor(Int): O número para verificar a divisibilidade
Retorno: O primeiro número divisível pelo divisor, ou -1 se nenhum for encontrado (Int)
Por exemplo, se limit for 10 e divisor for 3, a função retorna 3 (o primeiro número divisível por 3).
Folha de consulta
A instrução break interrompe imediatamente um loop e continua com o código após ele:
for number in 1...10 {
if number == 5 {
break
}
print(number)
}
// Saída: 1, 2, 3, 4Quando o break é executado, o loop para completamente. O valor que aciona o break não é processado pelas instruções subsequentes no loop.
A instrução break funciona com todos os tipos de loop, incluindo loops while:
var count = 0
while true {
count += 1
if count == 3 {
break
}
}
print(count) // Saída: 3Este padrão é útil para pesquisar e parar assim que uma condição for atendida, evitando iterações desnecessárias.
Experimente você mesmo
func findFirstMultiple(limit: Int, divisor: Int) -> Int {
// 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