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 múltiplas condições de uma forma limpa.
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")
}Após executar este código, o programa verificará cada condição de caso em ordem. Como nossa idade é 25, não é menor que 13 ou 20, mas é menor que 30, então o terceiro caso corresponde. O texto "Young Adult" aparecerá na tela:
Young AdultObserve que, sem uma expressão após switch, cada case se torna uma condição booleana que é avaliada como true ou false. O primeiro case que for 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".
Desafio
FácilNeste desafio, você praticará o uso de uma instrução switch sem uma expressão. Este tipo de switch é útil quando você deseja avaliar múltiplas 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.
Experimente você mesmo
package main
import "fmt"
func main() {
// Isso representa a hora atual no formato de 24 horas (0-23)
timeOfDay := 14 // Isso é 14:00
// 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 casos aqui
default:
fmt.Println("Hello!")
}
}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
4Operadores de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões