Iniciante Fundamentos

Switch

O switch compara um valor com vários casos. É mais limpo que muitos if/else.

Switch básico

dia := 3

switch dia {
case 1:
	fmt.Println("Domingo")
case 2:
	fmt.Println("Segunda")
case 3:
	fmt.Println("Terça")
default:
	fmt.Println("Outro dia")
}

Sem break automático

Diferente de outras linguagens, o Go não continua para o próximo caso. Cada case para sozinho, sem precisar de break.

Casos múltiplos

Você pode agrupar valores no mesmo case:

letra := "a"

switch letra {
case "a", "e", "i", "o", "u":
	fmt.Println("Vogal")
default:
	fmt.Println("Consoante")
}

Switch sem expressão

Funciona como uma cadeia de if/else:

nota := 85

switch {
case nota >= 90:
	fmt.Println("A")
case nota >= 80:
	fmt.Println("B")
default:
	fmt.Println("C")
}

Resumo

  • Cada case para automaticamente, sem break.
  • Agrupe valores separando por vírgula.
  • switch sem expressão substitui vários if.