Publicado em

Switch em Go

Partilhar:

Introdução

O switch é uma ferramenta poderosa em Go, permitindo que os programadores tomem decisões baseadas em múltiplos casos. Ao contrário das condicionais com if e else, o switch é frequentemente mais legível, especialmente quando lidamos com muitas condições.

Fundamentos do Switch

  1. Verificação de Igualdade: O switch compara a expressão dada com os valores de cada case.
  2. Execução Única: Ao contrário de outras linguagens, em Go, uma vez que um case corresponda, o programa sairá do bloco switch. Não é necessário um "break" explícito.
  3. Cláusula Default: Se nenhum case corresponder, o código sob default será executado. No entanto, default é opcional.

Switch Básico

dia := "quinta"

switch dia {
case "segunda":
	fmt.Println("Hoje é segunda-feira.")
case "terça":
	fmt.Println("Hoje é terça-feira.")
default:
	fmt.Println("Não é segunda nem terça.")
}

Switch com Múltiplas Condições em um Case

Pode-se combinar vários possíveis valores em um único case:

letra := 'B'

switch letra {
case 'A', 'E', 'I', 'O', 'U':
	fmt.Println("Vogal")
default:
	fmt.Println("Consoante")
}

Switch com Inicializador

Assim como a instrução if, switch também pode ter uma inicialização:

switch num := 5; num {
case 1, 3, 5, 7, 9:
	fmt.Println("Número ímpar")
default:
	fmt.Println("Número par")
}

Switch de Tipo

Go também suporta um switch baseado em tipo, que é útil quando se trabalha com interfaces:

var x interface{} = "texto"

switch x.(type) {
case int:
	fmt.Println("x é um inteiro")
case string:
	fmt.Println("x é uma string")
default:
	fmt.Println("Tipo desconhecido")
}

Conclusão

A declaração switch em Go oferece uma maneira limpa e eficiente de lidar com múltiplas condições. Seja para verificar valores ou tipos, o switch torna o código mais organizado e legível.

Happy coding!