Menu
Coddy logo textTech

Switch sem Expressão

Parte da seção Fundamentos do Journey de GO da Coddy. Lição 41 de 109.

Em Go, podemos usar uma instrução switch sem uma expressão após a palavra-chave. Isso é útil quando queremos avaliar várias condições de forma organizada.

Vamos criar um programa que categoriza uma pessoa com base em sua idade:

age := 25
    
switch {
case age < 13:
    fmt.Println("Child")
case age < 20:
    fmt.Println("Teenager")
case age < 30:
    fmt.Println("Young Adult")
default:
    fmt.Println("Adult")
}

Depois de executar este código, o programa verificará cada condição de caso em ordem. Como nossa idade é 25, ela não é menor que 13 nem que 20, mas é menor que 30, então o terceiro caso corresponde. O texto "Young Adult" será exibido na tela:

Young Adult

Observe que, sem uma expressão após switch, cada caso se torna uma condição booleana que é avaliada como true ou false. O primeiro caso avaliado como true executará seu bloco de código.

Se nenhum dos casos corresponder, o caso default seria executado. Em nosso exemplo, se age fosse 35, a saída seria "Adult".

challenge icon

Desafio

Fácil

Neste desafio, você praticará o uso de uma instrução switch sem uma expressão. Esse tipo de switch é útil quando você quer avaliar várias condições sem repetir instruções if-else.

Fornecemos uma variável timeOfDay que representa a hora atual (no formato de 24 horas). Sua tarefa é completar a instrução switch sem uma expressão para imprimir uma saudação apropriada com base na hora do dia.

Use estes intervalos e imprima exatamente estas mensagens:

  • 5 a 11: Good morning!
  • 12 a 17: Good afternoon!
  • 18 a 21: Good evening!
  • qualquer outra hora: Hello! (o caso default, já escrito)

Com timeOfDay = 14, o programa imprime Good afternoon!.

Experimente você mesmo

package main

import "fmt"

func main() {
	// Isso representa a hora atual no formato de 24 horas (0-23)
	timeOfDay := 14 // Isso é 2:00 PM
	
	// TODO: Complete a instrução switch sem uma expressão
	// para imprimir a saudação apropriada com base na hora do dia
	switch {
	// Adicione seus cases aqui
	
	
	
	default:
		fmt.Println("Hello!")
	}
}
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

Pratique por conta própria: Compilador de Go online