Menu
CoddyTech

Switch com Expressões

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

Vamos aprender a usar expressões em instruções switch em Go, que nos permitem avaliar condições diretamente em cada case.

Primeiro, vamos ver como usar uma instrução switch com uma condição em cada case para verificar se um número é positivo, negativo ou zero:

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Depois de executar este código, o programa exibirá na tela:

Negative number

Observe que estamos usando switch { sem nenhum valor depois dele. Isso significa que Go avaliará cada expressão de case como uma condição booleana. Como num é -5, a segunda condição, num < 0, é avaliada como verdadeira, então "Negative number" é impresso.

Também podemos inicializar uma variável diretamente na instrução switch. Vamos ver como isso funciona:

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Depois de executar esse código, obtemos o mesmo resultado:

Negative number

Neste exemplo, declaramos e inicializamos num diretamente na instrução switch. O ponto e vírgula separa a inicialização da expressão switch (que está vazia aqui). Isso torna nosso código mais compacto, mantendo a mesma funcionalidade.

challenge icon

Desafio

Iniciante
Neste desafio, você vai praticar o uso de uma expressão switch simples em Go. Você precisa completar o código para determinar a descrição de um dia com base no nome dele, usando uma instrução switch.

Uma variável dayName já está definida com o valor "Wednesday". Sua tarefa é usar uma expressão switch para definir a variável description como:
- "Start of the week" para segunda-feira
- "Midweek" para quarta-feira
- "Almost weekend" para sexta-feira
- "Weekend" para sábado ou domingo
- "Regular day" para qualquer outro dia

Experimente você mesmo

	// TODO: Escreva uma instrução switch que defina a descrição com base em dayName
	// Para Monday: "Start of the week"
	// Para Wednesday: "Midweek"
	// Para Friday: "Almost weekend"
	// Para Saturday ou Sunday: "Weekend"
	// Para qualquer outro dia: "Regular 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

Pratique por conta própria: Compilador de Go online