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

Na linguagem Go, a instrução select é como a instrução switch , mas na instrução select, a instrução case se refere à comunicação, ou seja, enviar ou receber uma operação no canal.

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

Sintaxe:

select{

case SendOrReceive1: // Lệnh
case SendOrReceive2: // Lệnh
case SendOrReceive3: // Lệnh
.......
default: // Lệnh

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 ?

Coisas que você precisa saber sobre o caso de impasse em Golang

Deadlock: Quando você tenta ler ou gravar dados de um canal, mas o canal está vazio. Então ele bloqueia a execução atual da goroutine e passa o controle para outras goroutines, mas se nenhuma outra goroutine estiver disponível ou outras goroutines estiverem em repouso devido a essa situação, o programa travará. Esse fenômeno é chamado de deadlock. Conforme mostrado no exemplo abaixo:

Por exemplo:

// Chương trình Go minh hoạc
// cách deadlock phát sinh
package main 

// Hàm chính
func main() { 

	// Tạo một kênh
	// Deadlock phát sinh bởi
	// không có goroutine đang viết
	// vào kênh này, vì thế
	// lệnh select đã bị khóa mãi mãi
	c := make(chan int) 
	select { 
	case <-c: }="" }="">

Resultado:

fatal error: all goroutines are asleep - deadlock!

goroutine 1 [chan receive]:
main.main()

Para evitar essa situação, usamos o caso padrão na instrução select. Em outras palavras, quando ocorre um deadlock no programa, o caso padrão da instrução select é executado para evitar o deadlock. Como no exemplo abaixo, usamos o caso padrão na instrução select para evitar deadlock.

Por exemplo:

// Chương trình Go minh họa cách giải quyết
// vấn đề deadlock bằng case mặc định
package main 

import "fmt"

// Hàm chính
func main() { 

	// Tạo 1 kênh
	c := make(chan int) 
	select { 
	case <-c: default:="" fmt.println("!..="" default="" case..!")="" }="" }="">

Resultado:

!.. Default case..!

Você também tem permissão para usar o caso padrão quando a instrução select tem apenas um canal nulo . Como mostrado no exemplo abaixo, o canal c é nulo, então o caso padrão é executado. Se o caso padrão aqui não estiver disponível, o programa será bloqueado para sempre e ocorrerá um deadlock.

Por exemplo:

// Chương trình Go minh họa
// chạy case mặc định
package main 

import "fmt"

// Hàm chính
func main() { 

	// Tạo một kênh
	var c chan int

	select { 
	case x1 := <-c: fmt.println("value:="" ",="" x1)="" default:="" fmt.println("default="" case..!")="" }="" }="">

Resultado:

Default case..!

Deixar um comentário

Como corrigir erros no Microsoft Teams e como usar a ajuda

Como corrigir erros no Microsoft Teams e como usar a ajuda

Cansado do erro "Como usar a Ajuda" do Microsoft Teams que está bloqueando seu fluxo de trabalho? Obtenha soluções passo a passo que funcionam nas versões mais recentes. Limpe o cache, atualize e muito mais — sem precisar de conhecimentos técnicos!

Como corrigir o erro de atalho do Microsoft Teams na área de trabalho

Como corrigir o erro de atalho do Microsoft Teams na área de trabalho

Frustrado com o erro de atalho do Microsoft Teams na área de trabalho? Siga nosso guia passo a passo comprovado para resolvê-lo rapidamente e voltar a fazer chamadas de vídeo e chats sem problemas. Sem necessidade de conhecimentos técnicos!

Como alterar a imagem de fundo do Microsoft Teams

Como alterar a imagem de fundo do Microsoft Teams

Descubra instruções passo a passo sobre como alterar a imagem de fundo do Microsoft Teams. Personalize reuniões no computador, no celular e na web com facilidade, usando os recursos mais recentes para videochamadas profissionais ou divertidas.

Como corrigir erros de reprodução de mídia no Microsoft Teams em 2026

Como corrigir erros de reprodução de mídia no Microsoft Teams em 2026

Cansado dos erros de reprodução de mídia do Microsoft Teams arruinando suas reuniões de 2026? Siga nosso guia passo a passo, elaborado por especialistas, para corrigir problemas de áudio, vídeo e compartilhamento rapidamente — sem precisar de conhecimentos técnicos. A colaboração perfeita está ao seu alcance!

Onde o Microsoft Teams baixa os arquivos no seu computador?

Onde o Microsoft Teams baixa os arquivos no seu computador?

Descubra onde o Microsoft Teams baixa arquivos no seu computador. Saiba onde os arquivos são baixados por padrão no Windows, Mac e Linux, como alterá-los e dicas para encontrar arquivos instantaneamente. Economize tempo com este guia completo!

Solução de problemas de configurações de erro de proxy do Microsoft Teams

Solução de problemas de configurações de erro de proxy do Microsoft Teams

Com dificuldades para resolver o erro de proxy do Microsoft Teams? Descubra etapas comprovadas para solucionar esse problema. Limpe o cache, ajuste as configurações de proxy e volte a fazer chamadas sem interrupções em minutos com nosso guia especializado.

Como corrigir problemas de som abafado ou ausência de som no microfone do Microsoft Teams

Como corrigir problemas de som abafado ou ausência de som no microfone do Microsoft Teams

Cansado de som abafado ou inexistente no microfone do Microsoft Teams? Descubra como resolver problemas de microfone no Microsoft Teams com passos rápidos e comprovados. Áudio nítido em breve!

Resolvendo o erro de ingresso em reunião do Microsoft Teams por meio de link direto.

Resolvendo o erro de ingresso em reunião do Microsoft Teams por meio de link direto.

Está com dificuldades para entrar em uma reunião no Microsoft Teams? Descubra passos comprovados para resolver o problema através de links diretos. Soluções rápidas para entrar em reuniões sem problemas – sem necessidade de conhecimentos técnicos!

Solução de problemas de erros no Microsoft Teams para Mac relacionados ao Keychain

Solução de problemas de erros no Microsoft Teams para Mac relacionados ao Keychain

Está com dificuldades para resolver problemas com o Keychain no Microsoft Teams para Mac? Descubra soluções comprovadas, passo a passo, para macOS e volte a colaborar sem problemas. Soluções rápidas aqui!

Por que não consigo ver as salas de discussão na minha reunião do Teams?

Por que não consigo ver as salas de discussão na minha reunião do Teams?

Frustrado porque as Salas Simultâneas não aparecem na sua reunião do Teams? Descubra os principais motivos pelos quais você não consegue ver as Salas Simultâneas no Teams e siga nossas soluções passo a passo para que elas funcionem perfeitamente em minutos. Ideal para organizadores e participantes!