Cazuri de cunoscut atunci când se utilizează declarații de selecție în Golang

În limba Go, instrucțiunea select este ca instrucțiunea switch , dar în instrucțiunea select, declarația case se referă la comunicare, adică la operațiunea de trimitere sau primire pe canal.

Cazuri de cunoscut atunci când se utilizează declarații de selecție în Golang

Sintaxă:

select{

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

În acest articol, vom învăța cum să folosim cazul implicit pentru a evita blocajul. Dar mai întâi, să aflăm care este cazul de blocare atunci când utilizați comanda Golang select?

Lucruri de știut despre cazul de blocaj din Golang

Deadlock: Când încercați să citiți sau să scrieți date de pe un canal, dar canalul este gol. Așadar, blochează execuția curentă a goroutinei și trece controlul altor goroutine, dar dacă nu este disponibilă nicio altă goroutine sau alte goroutine se odihnesc din cauza acestei situații, programul se va bloca. Acest fenomen se numește blocaj. După cum se arată în exemplul de mai jos:

De exemplu:

// 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: }="" }="">

Rezultat:

fatal error: all goroutines are asleep - deadlock!

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

Pentru a evita această situație, folosim cazul implicit în instrucțiunea select. Cu alte cuvinte, atunci când are loc blocajul în program, cazul implicit al instrucțiunii select este executat pentru a evita blocajul. Ca în exemplul de mai jos, folosim cazul implicit în instrucțiunea select pentru a evita blocajul.

De exemplu:

// 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..!")="" }="" }="">

Rezultat:

!.. Default case..!

De asemenea, vi se permite să utilizați cazul implicit atunci când instrucțiunea select are doar un canal zero . După cum se arată în exemplul de mai jos, canalul c este zero, deci cazul implicit este executat dacă cazul implicit aici nu este disponibil, atunci programul se va bloca pentru totdeauna și apare un blocaj.

De exemplu:

// 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..!")="" }="" }="">

Rezultat:

Default case..!
Sign up and earn $1000 a day ⋙

Leave a Comment

Parametrii de returnare numiți în Golang

Parametrii de returnare numiți în Golang

În Golang, parametrii de returnare numiți sunt adesea denumiți ca parametri numiți. Golang permite denumirea parametrilor returnați sau a rezultatelor funcțiilor în semnătura sau definiția funcției.

Cuvinte cheie în Go

Cuvinte cheie în Go

Cuvinte cheie - Cuvintele cheie sunt cuvinte într-o limbă care sunt utilizate pentru un proces intern sau reprezintă o acțiune predefinită. Iată lucrurile pe care trebuie să le știți despre cuvintele cheie din Golang.

Tipuri de date în Golang

Tipuri de date în Golang

Tipul de date specifică tipul de date pe care o variabilă Go validă poate conține. În limba Go, tipurile sunt împărțite în patru categorii, după cum urmează:

Argumente ale funcției în Golang

Argumente ale funcției în Golang

Go acceptă două moduri principale de a transmite argumente: Treci după valoare și Treci prin referință. Go folosește trecerea prin valoare în mod implicit.

Funcție care returnează mai multe valori în Golang

Funcție care returnează mai multe valori în Golang

În limba Go, vi se permite să returnați mai multe valori dintr-o funcție, folosind instrucțiunea return. Cu alte cuvinte, într-o funcție, o instrucțiune return poate returna mai multe valori.

Declarație Switch în Go

Declarație Switch în Go

Golang, ca majoritatea altor limbaje de programare, are declarație switch. Iată cum să utilizați declarația switch în Golang.

Structuri și câmpuri anonime în Golang

Structuri și câmpuri anonime în Golang

Structurile anonime din Golang sunt structuri temporare fără nume folosite în scopuri unice, în timp ce câmpurile anonime permit încorporarea câmpurilor fără nume.

Cum se folosește Rune în Golang

Cum se folosește Rune în Golang

Ce sunt runele în Golang? Cum se folosește Rune în Golang? Articolul vă va spune răspunsul.

Cum să folosiți operatorii în Golang

Cum să folosiți operatorii în Golang

Operatorii ne permit să efectuăm diferite tipuri de operații pe operanzi. În limbajul Go, operatorii pot fi clasificați în funcție de diferitele lor funcții.

Identificator de gol în Golang

Identificator de gol în Golang

_(sublinierea) în Golang se numește Blank Identifier. Identificatorul este un nume definit de utilizator al componentelor programului utilizat în scopuri de identificare.

Cum se creează un program de bază în Golang

Cum se creează un program de bază în Golang

Salut Lume! este primul program de bază în orice limbaj de programare. Puteți scrie acest prim program în Golang urmând pașii de mai jos.

Cum se instalează Go pe Windows

Cum se instalează Go pe Windows

Golang poate fi instalat cu ușurință pe Windows. Mai jos este un ghid detaliat pas cu pas pentru instalarea Golang pe Windows.

Metode cu același nume în Golang

Metode cu același nume în Golang

Golang permite crearea a două sau mai multe metode cu același nume în același pachet, dar receptorii acestor metode trebuie să fie de tipuri diferite.

Funcții în Go

Funcții în Go

În Go, funcțiile sunt blocuri de cod care îndeplinesc sarcini specifice, care pot fi reutilizate în întregul program pentru a economisi memorie, a îmbunătăți lizibilitatea și a economisi timp.

Cum să obțineți 1 lună de Discord Nitro gratuit cu Opera GX

Cum să obțineți 1 lună de Discord Nitro gratuit cu Opera GX

Opera GX, browserul web axat pe jocuri, a creat un parteneriat interesant cu Discord, oferind utilizatorilor o lună de încercare gratuită a Discord Nitro.

Cum să înregistrezi rapid ecranul computerului Windows 10

Cum să înregistrezi rapid ecranul computerului Windows 10

În prezent, există multe programe de înregistrare a ecranului computerului care acceptă Win 10, ajutându-vă să înregistrați cu ușurință ecranul computerului, în special pentru jucători.

Cum să dezactivați comentariile atunci când transmiteți în direct pe Facebook

Cum să dezactivați comentariile atunci când transmiteți în direct pe Facebook

Când vizionați un stream live pe Facebook, comentariile sunt afișate automat pe ecranul video online. Atunci spectatorii vor cunoaște comentariile altora.

15 lucruri pe care le poți face cu ChatGPT

15 lucruri pe care le poți face cu ChatGPT

De la lansarea sa în noiembrie 2022, ChatGPT a primit multă atenție pentru multitudinea de utilizări. Pentru a vă ajuta să profitați la maximum de acest instrument, iată 15 moduri în care puteți utiliza ChatGPT.

Sfaturi pentru a găsi zboruri ieftine pe Gemeni

Sfaturi pentru a găsi zboruri ieftine pe Gemeni

Widgeturile de pe Gemini ajută acest asistent AI să ajungă la utilizatori în mai multe aspecte, cum ar fi găsirea de bilete de avion ieftine prin widgetul Google Flights.

Parametrii de returnare numiți în Golang

Parametrii de returnare numiți în Golang

În Golang, parametrii de returnare numiți sunt adesea denumiți ca parametri numiți. Golang permite denumirea parametrilor returnați sau a rezultatelor funcțiilor în semnătura sau definiția funcției.

Instrucțiuni pentru setarea imaginii de fundal pentru chat pe WhatsApp

Instrucțiuni pentru setarea imaginii de fundal pentru chat pe WhatsApp

WhatsApp are o funcție de schimbare a imaginii de fundal pentru chat, care permite utilizatorilor să seteze teme de chat pe WhatsApp. Utilizatorii vor putea alege dintre 30 de fundaluri diferite pentru chat-urile lor sau vor putea folosi imaginile personale ca fundaluri de chat pe WhatsApp.

Ce este un fișier FLV? Cum se deschid fișierele FLV pe computer?

Ce este un fișier FLV? Cum se deschid fișierele FLV pe computer?

Descărcați adesea videoclipuri de pe Internet pe computer pentru a le viziona offline și pentru a vedea adesea fișiere FLV. Te chinui să-ți dai seama cum să le deschizi? Astăzi, vă vom oferi informații despre fișierele video FLV în articolul de mai jos.

Cum să vizualizați arhiva de știri pe telefonul Facebook, computer

Cum să vizualizați arhiva de știri pe telefonul Facebook, computer

Pentru a revizui știrile postate pe Facebook, trebuie să activați arhiva de știri pe Facebook. Toate mesajele Facebook după activarea modului de arhivare vor fi salvate în arhivă pentru ca tu să le examinezi oricând ai nevoie.

Cel mai recent cod MU Luc Dia VNG și cum să răscumpărați codul

Cel mai recent cod MU Luc Dia VNG și cum să răscumpărați codul

Puteți schimba codurile de joc MU Luc Dia VNG pentru Zen și alte valute.

10 aplicații indispensabile pentru iubitorii de cărți

10 aplicații indispensabile pentru iubitorii de cărți

Doar pentru că nu ai o carte despre tine nu înseamnă că trebuie să te oprești din citit. Tot ce ai nevoie este telefonul tău pentru a încerca aplicațiile de social media dedicate iubitorilor de cărți și pentru a găsi următoarea carte pe care vrei să o citești.

Aflați despre Spotify Connect: Funcția Spotify care îi obligă pe utilizatori să părăsească YouTube Music

Aflați despre Spotify Connect: Funcția Spotify care îi obligă pe utilizatori să părăsească YouTube Music

Capacitatea de a controla redarea muzicii pe un dispozitiv de pe altul este o caracteristică subestimată. Muzică YouTube nu are această funcție - și asta îi obligă pe oameni să apeleze la Spotify.

Cum să faci un bulgăre de zăpadă să explodeze în Minecraft Bedrock și Java Editon

Cum să faci un bulgăre de zăpadă să explodeze în Minecraft Bedrock și Java Editon

Comenzile Minecraft le permit jucătorilor să creeze multe efecte interesante și o opțiune interesantă este să facă bulgări de zăpadă să explodeze. Iată cum să faci bulgări de zăpadă care explodează în Minecraft.

Computerul dumneavoastră are un NPU? Iată cum se verifică

Computerul dumneavoastră are un NPU? Iată cum se verifică

Pe Windows 11, poți verifica rapid dacă computerul tău are o NPU (Neural Processing Unit), prin 3 moduri foarte simple.

Modul Hibernare este rău pentru computer?

Modul Hibernare este rău pentru computer?

Modul Hibernare a luat naștere din necesitatea de a menține computerul pornit 24/7 fără a dori să epuizezi bateria sau pentru a te asigura că sistemul nu este afectat de pană de curent, spre deosebire de cazul modului Sleep.