Instrução Switch em Go

Golang como a maioria das outras linguagens de programação tem a instrução switch . A instrução switch em Golang  permite que você avalie uma variável ou expressão em vários casos e é frequentemente usada ao escrever várias instruções if-else, o que faz com que o código pareça feio e repetitivo.

Instrução Switch em Go

Em Go, a instrução switch é uma instrução de ramificação multidirecional que efetivamente direciona a execução com base no valor (ou tipo) de uma expressão. Existem dois tipos principais de instruções switch em Go :

  • Troca de expressão
  • Interruptor de tipo

Por exemplo:

package main
import "fmt"

func main() {
    day := 4
    switch day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

Sintaxe da instrução Switch em Golang

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:                                                          # Expression Switch
    // Khối code
default:
    // Khối code
}

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:                                                                    # Type Switch
    // Khối code
default:
    // Khối code
}

Troca de expressão

O Expression Switch avalia uma expressão e alterna para um caso com base no valor dessa expressão. Se nenhuma expressão for fornecida, o switch assumirá o valor padrão true .

Sintaxe

switch optstatement; optexpression {
case expression1:
    // Khối code
case expression2:
    // Khối code
default:
    // Khối code
}

optstatement: Declaração opcional (por exemplo, declaração de variável).
optexpression: Expressão opcional (se omitida, o padrão é true ).

Exemplo com comando opcional

Aqui introduz uma declaração opcional que declara uma variável de dia . A instrução switch então avalia o dia de acordo com diferentes casos.

package main
import "fmt"
func main() {
    switch day := 4; day {
    case 1:
        fmt.Println("Monday")
    case 2:
        fmt.Println("Tuesday")
    case 3:
        fmt.Println("Wednesday")
    case 4:
        fmt.Println("Thursday")
    case 5:
        fmt.Println("Friday")
    default:
        fmt.Println("Invalid day")
    }
}

Resultado:

Thursday

Exemplo com expressão opcional

Se nenhuma expressão for especificada, a instrução switch em Golang assumirá que a expressão é verdadeira. Isso nos permite usar condições booleanas em instruções case.

package main
import "fmt"

func main() {
    day := 4

    switch {
    case day == 1:
        fmt.Println("Monday")
    case day == 4:
        fmt.Println("Thursday")
    case day > 5:
        fmt.Println("Weekend")
    default:
        fmt.Println("Invalid day")
    }
}

Resultado

Thursday

Interruptor de tipo

O Type Switch é usado para ramificar o tipo de um valor de interface, em vez do seu valor. Isto é especialmente útil ao lidar com variáveis ​​de tipo desconhecido.

Sintaxe

switch var := interfaceValue.(type) {
case type1:
    // Khối code
case type2:
    // Khối code
default:
    // Khối code
}

Por exemplo:

Este exemplo usa a mesma variável de dia , mas encapsulada em interface{} para ilustrar a conversão de tipo.

package main
import "fmt"
func main() {
    var day interface{} = 4
    switch v := day.(type) {
    case int:
        switch v {
        case 1:
            fmt.Println("Monday")
        case 2:
            fmt.Println("Tuesday")
        case 3:
            fmt.Println("Wednesday")
        case 4:
            fmt.Println("Thursday")
        case 5:
            fmt.Println("Friday")
        default:
            fmt.Println("Invalid day")
        }
    default:
        fmt.Printf("Unknown type: %T\n", v)
    }
}

Resultado:

Thursday
Sign up and earn $1000 a day ⋙

Leave a Comment

Como usar constantes em Golang

Como usar constantes em Golang

O que é constante ou const em Golang? Aqui está o que você precisa saber sobre o uso de constantes em Go.

Funções voláteis em Golang

Funções voláteis em Golang

Funções variádicas em Go permitem que você passe um número variável de argumentos para uma função. Aqui está tudo o que você precisa saber sobre funções voláteis em Golang.

Parâmetros de retorno nomeados em Golang

Parâmetros de retorno nomeados em Golang

Em Golang, parâmetros de retorno nomeados são frequentemente chamados de parâmetros nomeados. Golang permite nomear os parâmetros de retorno ou resultados de funções na assinatura ou definição da função.

Palavras-chave em Go

Palavras-chave em Go

Palavra-chave - Palavras-chave são palavras em um idioma que são usadas para algum processo interno ou representam alguma ação predefinida. Aqui estão as coisas que você precisa saber sobre palavras-chave em Golang.

Tipos de dados em Golang

Tipos de dados em Golang

O tipo de dados especifica o tipo de dados que uma variável Go válida pode conter. Na linguagem Go, os tipos são divididos em quatro categorias, como segue:

Argumentos de função em Golang

Argumentos de função em Golang

Go suporta duas maneiras principais de passar argumentos: Passagem por valor e Passagem por referência. Go usa passagem por valor por padrão.

Função retornando múltiplos valores em Golang

Função retornando múltiplos valores em Golang

Na linguagem Go, você pode retornar vários valores de uma função, usando a instrução return. Em outras palavras, em uma função, uma instrução return pode retornar vários valores.

Casos a serem conhecidos ao usar instruções de seleção em Golang

Casos a serem conhecidos ao usar instruções de seleção em Golang

Neste artigo, aprenderemos como usar o caso padrão para evitar deadlock. Mas primeiro, vamos descobrir o que é o caso de deadlock ao usar o comando select do Golang?

Estruturas e campos anônimos em Golang

Estruturas e campos anônimos em Golang

Estruturas anônimas em Golang são estruturas temporárias sem nomes usadas para propósitos únicos, enquanto campos anônimos permitem a incorporação de campos sem nome.

Como usar Runa em Golang

Como usar Runa em Golang

O que são Runas em Golang? Como usar Runa em Golang? O artigo lhe dará a resposta.

Como usar operadores em Golang

Como usar operadores em Golang

Operadores nos permitem realizar diferentes tipos de operações em operandos. Na linguagem Go, os operadores podem ser classificados com base em suas diferentes funções.

Identificador vazio em Golang

Identificador vazio em Golang

_(sublinhado) em Golang é chamado de Identificador em Branco. Identificador é um nome definido pelo usuário para componentes de programa usados ​​para fins de identificação.

Como criar um programa básico em Golang

Como criar um programa básico em Golang

Olá, mundo! é o primeiro programa básico em qualquer linguagem de programação. Você pode escrever este primeiro programa em Golang seguindo os passos abaixo.

Como instalar o Go no Windows

Como instalar o Go no Windows

O Golang pode ser facilmente instalado no Windows. Abaixo está um guia passo a passo detalhado para instalar o Golang no Windows.

Diferença entre TV comum e Smart TV

Diferença entre TV comum e Smart TV

As Smart TVs realmente conquistaram o mundo. Com tantos recursos excelentes e conectividade à Internet, a tecnologia mudou a maneira como assistimos TV.

Por que o freezer não tem luz, mas a geladeira tem?

Por que o freezer não tem luz, mas a geladeira tem?

Geladeiras são eletrodomésticos comuns em residências. As geladeiras geralmente têm 2 compartimentos, o compartimento frio é espaçoso e tem uma luz que acende automaticamente toda vez que o usuário o abre, enquanto o compartimento do freezer é estreito e não tem luz.

2 maneiras de corrigir o congestionamento da rede que deixa o Wi-Fi lento

2 maneiras de corrigir o congestionamento da rede que deixa o Wi-Fi lento

As redes Wi-Fi são afetadas por muitos fatores além de roteadores, largura de banda e interferência, mas existem algumas maneiras inteligentes de melhorar sua rede.

Como fazer downgrade do iOS 17 para o iOS 16 sem perder dados usando o Tenorshare Reiboot

Como fazer downgrade do iOS 17 para o iOS 16 sem perder dados usando o Tenorshare Reiboot

Se você quiser voltar para o iOS 16 estável no seu telefone, aqui está o guia básico para desinstalar o iOS 17 e fazer o downgrade do iOS 17 para o 16.

O que acontece com o corpo quando você come iogurte todos os dias?

O que acontece com o corpo quando você come iogurte todos os dias?

Iogurte é um alimento maravilhoso. É bom comer iogurte todos os dias? Quando você come iogurte todos os dias, como seu corpo muda? Vamos descobrir juntos!

Que tipo de arroz é melhor para a saúde?

Que tipo de arroz é melhor para a saúde?

Este artigo discute os tipos de arroz mais nutritivos e como maximizar os benefícios para a saúde de qualquer arroz que você escolher.

Como acordar na hora certa pela manhã

Como acordar na hora certa pela manhã

Estabelecer um horário de sono e uma rotina para dormir, mudar o despertador e ajustar a dieta são algumas das medidas que podem ajudar você a dormir melhor e acordar na hora certa pela manhã.

Dicas para jogar Rent Please! Simulador de Proprietário para Iniciantes

Dicas para jogar Rent Please! Simulador de Proprietário para Iniciantes

Alugue, por favor! Landlord Sim é um jogo de simulação para dispositivos móveis para iOS e Android. Você jogará como proprietário de um complexo de apartamentos e começará a alugar um apartamento com o objetivo de reformar o interior do seu apartamento e deixá-lo pronto para inquilinos.

Últimos códigos de defesa de torre de banheiro e como inseri-los

Últimos códigos de defesa de torre de banheiro e como inseri-los

Obtenha o código do jogo Bathroom Tower Defense Roblox e resgate recompensas emocionantes. Elas ajudarão você a melhorar ou desbloquear torres com maior dano.

Estrutura, símbolos e princípios de funcionamento dos transformadores

Estrutura, símbolos e princípios de funcionamento dos transformadores

Vamos aprender sobre a estrutura, os símbolos e os princípios de operação dos transformadores da maneira mais precisa.

4 maneiras pelas quais a IA está melhorando as Smart TVs

4 maneiras pelas quais a IA está melhorando as Smart TVs

De melhor qualidade de imagem e som a controle de voz e muito mais, esses recursos com tecnologia de IA estão tornando as smart TVs muito melhores!

Por que o ChatGPT é melhor que o DeepSeek

Por que o ChatGPT é melhor que o DeepSeek

Inicialmente, as pessoas tinham grandes esperanças no DeepSeek. Como um chatbot de IA comercializado como um forte concorrente do ChatGPT, ele promete recursos e experiências de bate-papo inteligentes.

Conheça Fireflies.ai: a secretária de IA gratuita que economiza horas de trabalho

Conheça Fireflies.ai: a secretária de IA gratuita que economiza horas de trabalho

É fácil perder detalhes importantes ao anotar outros itens essenciais, e tentar fazer anotações enquanto conversa pode ser uma distração. Fireflies.ai é a solução.

Como criar Axolotl no Minecraft, domar Salamandra no Minecraft

Como criar Axolotl no Minecraft, domar Salamandra no Minecraft

O Axolot do Minecraft será um ótimo assistente para jogadores que operam debaixo d'água se eles souberem como usá-lo.

Configuração do jogo para PC A Quiet Place: The Road Ahead

Configuração do jogo para PC A Quiet Place: The Road Ahead

A configuração de A Quiet Place: The Road Ahead é bem avaliada, então você precisa considerar a configuração antes de decidir fazer o download.