Menu
Coddy logo textTech

A Palavra-chave `fallthrough`

Parte da seção Fundamentos do Journey de GO da Coddy — lição 42 de 109.

Em Go, a palavra-chave fallthrough nos permite continuar a execução para o próximo caso em uma instrução switch, mesmo após uma correspondência ser encontrada. Vamos explorar como isso funciona.

Primeiro, vamos criar uma instrução switch simples que usa a palavra-chave fallthrough para descrever um número:

num := 15
    
switch {
case num < 20:
    fmt.Print("Less than 20 ")
    fallthrough
case num > 10:
    fmt.Print("Greater than 10 ")
    fallthrough
case num > 0:
    fmt.Print("Positive number")
}

Após executar este código, veremos todas as três mensagens impressas na tela:

Less than 20 Greater than 10 Positive number

Isso acontece porque o primeiro caso corresponde (15 é menor que 20), e a palavra-chave fallthrough força o Go a também executar o segundo caso. Então o segundo caso também usa fallthrough, o que faz o Go executar o terceiro caso também. Sem o fallthrough, apenas o primeiro caso correspondente seria executado.

Lembre-se de que fallthrough executará o próximo caso, independentemente de sua condição ser verdadeira ou não. Em nosso exemplo, todas as condições por acaso são verdadeiras para o número 15, mas o próximo caso seria executado mesmo se sua condição fosse falsa.

challenge icon

Desafio

Iniciante

Neste desafio, você praticará o uso da palavra-chave fallthrough em uma instrução switch. A palavra-chave fallthrough permite que a execução continue para o próximo caso, mesmo após uma correspondência ser encontrada.

Você tem uma variável que representa um dia da semana. Sua tarefa é adicionar a palavra-chave fallthrough no local apropriado para fazer o programa imprimir tanto 'It's a weekday!' quanto 'Time to work!' quando o dia for 'Monday'.

Folha de consulta

A palavra-chave fallthrough permite que a execução continue para o próximo caso em uma instrução switch, mesmo após uma correspondência ser encontrada:

num := 15
    
switch {
case num < 20:
    fmt.Print("Less than 20 ")
    fallthrough
case num > 10:
    fmt.Print("Greater than 10 ")
    fallthrough
case num > 0:
    fmt.Print("Positive number")
}

Isso resultará na saída: Less than 20 Greater than 10 Positive number

O fallthrough executa o próximo caso, independentemente de sua condição ser verdadeira ou falsa.

Experimente você mesmo

package main

import "fmt"

func main() {
	// Uma variável que representa um dia da semana
	day := "Monday"
	
	// Instrução switch para verificar o dia
	switch day {
	case "Monday":
		fmt.Println("It's a weekday!")
		// TODO: Adicione a palavra-chave `fallthrough` aqui para continuar para o próximo case
	case "Tuesday", "Wednesday", "Thursday", "Friday":
		fmt.Println("Time to work!")
	case "Saturday", "Sunday":
		fmt.Println("It's the weekend!")
	default:
		fmt.Println("Invalid day!")
	}
}
quiz iconTeste seus conhecimentos

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