Cas à connaître lors de lutilisation dinstructions de sélection en Golang

Dans le langage Go, l'instruction select est comme l'instruction switch , mais dans l'instruction select, l'instruction case fait référence à la communication, c'est-à-dire à l'opération d'envoi ou de réception sur le canal.

Cas à connaître lors de l'utilisation d'instructions de sélection en Golang

Syntaxe:

select{

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

Dans cet article, nous allons apprendre à utiliser le cas par défaut pour éviter le blocage. Mais d’abord, découvrons quel est le cas de blocage lors de l’utilisation de la commande Golang select ?

Informations à connaître sur les cas de blocage dans Golang

Blocage : lorsque vous essayez de lire ou d'écrire des données à partir d'un canal mais que le canal est vide. Il bloque donc l'exécution actuelle de la goroutine et passe le contrôle à d'autres goroutines, mais si aucune autre goroutine n'est disponible ou si d'autres goroutines sont au repos en raison de cette situation, le programme plantera. Ce phénomène est appelé blocage. Comme le montre l’exemple ci-dessous :

Par exemple:

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

Résultat:

fatal error: all goroutines are asleep - deadlock!

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

Pour éviter cette situation, nous utilisons le cas par défaut dans l'instruction select. En d'autres termes, lorsqu'un blocage se produit dans le programme, le cas par défaut de l'instruction select est exécuté pour éviter le blocage. Comme dans l'exemple ci-dessous, nous utilisons le cas par défaut dans l'instruction select pour éviter le blocage.

Par exemple:

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

Résultat:

!.. Default case..!

Vous êtes également autorisé à utiliser le cas par défaut lorsque l' instruction select n'a qu'un canal nul . Comme indiqué dans l'exemple ci-dessous, le canal c est nul, donc le cas par défaut est exécuté si le cas par défaut ici n'est pas disponible, alors le programme se bloquera pour toujours et un blocage se produira.

Par exemple:

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

Résultat:

Default case..!

Laisser un commentaire

10 idées faciles de décoration d'Halloween pour une chambre d'étudiant qui n'abîmeront pas les murs

10 idées faciles de décoration d'Halloween pour une chambre d'étudiant qui n'abîmeront pas les murs

Créez une chambre d'étudiant festive grâce à 10 idées de décorations d'Halloween sans danger pour les murs, des conseils d'affichage adaptés aux locataires, des vérifications de sécurité incendie et des conseils de démontage.

Organisez une soirée films d'horreur nostalgiques des années 80 grâce à ces idées !

Organisez une soirée films d'horreur nostalgiques des années 80 grâce à ces idées !

Organisez une soirée films d'horreur des années 80 avec un niveau de peur clairement défini, une décoration rétro, des tenues inspirées de l'époque, des en-cas faciles à préparer et des jeux amusants pour la soirée cinéma.

La tendance des méchants : Les meilleurs costumes sombres pour Halloween 2026

La tendance des méchants : Les meilleurs costumes sombres pour Halloween 2026

Créez un look sombre et sophistiqué pour Halloween 2026 grâce à six idées de costumes inspirés des méchants, des conseils de style pratiques, des indications budgétaires et des vérifications de sécurité.

Une chasse aux bonbons adaptée aux personnes allergiques : le projet de la citrouille turquoise en 2026

Une chasse aux bonbons adaptée aux personnes allergiques : le projet de la citrouille turquoise en 2026

Découvrez ce que signifie le projet Teal Pumpkin en 2026, comment les hôtes peuvent offrir des friandises non alimentaires distinctes et comment les familles peuvent planifier des itinéraires et examiner les bonbons en toute sécurité.

La chasse aux bonbons en 2026 : ce qui change pour la nuit d’Halloween

La chasse aux bonbons en 2026 : ce qui change pour la nuit d’Halloween

Découvrez ce que révèle le dernier sondage d'Halloween 2026 sur la collecte de bonbons, les événements communautaires et les moyens pratiques d'organiser une sortie de quartier plus sûre.

Comment organiser une fête de la lune d'Halloween sur le thème de la spiritualité étoilée

Comment organiser une fête de la lune d'Halloween sur le thème de la spiritualité étoilée

Organisez une fête d'Halloween au clair de lune empreinte de réflexion, avec possibilité de méditation, observation simple des étoiles, indications précises sur le ciel de 2026, cadre spirituel respectueux et éclairage sécuritaire.

CAF : comment contester une dette et respecter les délais de recours

CAF : comment contester une dette et respecter les délais de recours

Dette Caf contestée : distinguez rectification, recours amiable et remise de dette, vérifiez le délai applicable et adressez votre demande au bon organisme.

Comment jeter une batterie externe à Paris ? Comparer magasin, Trimobile et Espace tri

Comment jeter une batterie externe à Paris ? Comparer magasin, Trimobile et Espace tri

À Paris, une batterie externe usagée va dans une collecte dédiée. Comparez magasin, Trimobile et Espace tri, avec les précautions si elle est endommagée.

Changement d’adresse à Amiens : quelles démarches effectuer avant et après le déménagement ?

Changement d’adresse à Amiens : quelles démarches effectuer avant et après le déménagement ?

Impôts, carte grise, Caf, collecte des déchets et stationnement : suivez les étapes essentielles pour signaler votre changement d’adresse à Amiens.

Comment se débarrasser d’un ordinateur à Angers ? Réparation, reprise ou déchèterie

Comment se débarrasser d’un ordinateur à Angers ? Réparation, reprise ou déchèterie

À Angers, comparez don, réparation, reprise en magasin et déchèterie pour un ordinateur usagé. Accès par badge, horaires et effacement des données.