- Autor
- Nome
- Nelson Silva
- Social
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
- Switch Básico
- Switch com Múltiplas Condições em um Case
- Switch com Inicializador
- Switch de Tipo
Fundamentos do Switch
- Verificação de Igualdade: O
switch
compara a expressão dada com os valores de cadacase
. - Execução Única: Ao contrário de outras linguagens, em Go, uma vez que um
case
corresponda, o programa sairá do blocoswitch
. Não é necessário um "break" explícito. - Cláusula Default: Se nenhum
case
corresponder, o código sobdefault
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.