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

Healthy snacks that help you lose weight

Healthy snacks that help you lose weight

Craving for snacks but afraid of gaining weight? Dont worry, lets explore together many types of weight loss snacks that are high in fiber, low in calories without making you try to starve yourself.

Résolution des problèmes liés aux paramètres de proxy de Microsoft Teams

Résolution des problèmes liés aux paramètres de proxy de Microsoft Teams

Vous rencontrez des problèmes avec le proxy dans Microsoft Teams ? Découvrez des solutions éprouvées pour résoudre ces erreurs. Videz le cache, ajustez les paramètres du proxy et retrouvez des appels fluides en quelques minutes grâce à notre guide expert.

Pourquoi mon enregistrement Microsoft Teams a-t-il échoué ? Raisons courantes

Pourquoi mon enregistrement Microsoft Teams a-t-il échoué ? Raisons courantes

Vous êtes frustré(e) car votre enregistrement Microsoft Teams a échoué ? Découvrez les principales causes, telles que les problèmes d’autorisation, les limites de stockage et les dysfonctionnements du réseau, ainsi que des solutions étape par étape pour éviter les échecs futurs et enregistrer parfaitement à chaque fois.

Pourquoi ne puis-je pas voir les salles de sous-groupes dans ma réunion Teams ?

Pourquoi ne puis-je pas voir les salles de sous-groupes dans ma réunion Teams ?

Vous êtes frustré(e) car les salles de sous-groupes sont introuvables dans vos réunions Teams ? Découvrez les principales raisons de leur absence et suivez nos solutions pas à pas pour les activer en quelques minutes. Idéal pour les organisateurs comme pour les participants !

Résolution des problèmes liés au trousseau derreurs de Microsoft Teams sur Mac

Résolution des problèmes liés au trousseau derreurs de Microsoft Teams sur Mac

Vous rencontrez des problèmes avec le Trousseau d'accès Microsoft Teams sur Mac ? Découvrez des solutions de dépannage éprouvées et détaillées pour macOS afin de retrouver une collaboration fluide. Des solutions rapides à l'intérieur !

Où se trouvent les clés de registre de Microsoft Teams sous Windows 11 ?

Où se trouvent les clés de registre de Microsoft Teams sous Windows 11 ?

Découvrez l'emplacement précis des clés de registre Microsoft Teams sous Windows 11. Ce guide pas à pas vous explique comment les trouver, y accéder et les modifier en toute sécurité pour optimiser les performances et résoudre les problèmes. Indispensable pour les professionnels de l'informatique et les utilisateurs de Teams.

Comment résoudre lerreur 1200 de Microsoft Teams sur téléphone (iOS/Android)

Comment résoudre lerreur 1200 de Microsoft Teams sur téléphone (iOS/Android)

Vous en avez assez de l'erreur 1200 de Microsoft Teams qui interrompt vos appels téléphoniques ? Découvrez des solutions rapides et simples pour iOS et Android afin de reprendre rapidement une collaboration fluide, sans aucune compétence technique requise !

Où se trouve Microsoft Teams dans Outlook ? Localisation de l’icône manquante

Où se trouve Microsoft Teams dans Outlook ? Localisation de l’icône manquante

Vous êtes frustré(e) par la disparition de l'icône Microsoft Teams dans Outlook ? Découvrez où la trouver, pourquoi elle disparaît et comment la faire réapparaître pour des réunions sans souci. Mise à jour pour les dernières versions !

Comment résoudre lerreur « Longlet Wiki de Microsoft Teams ne se charge pas »

Comment résoudre lerreur « Longlet Wiki de Microsoft Teams ne se charge pas »

Vous rencontrez des difficultés avec le chargement des onglets Wiki dans Microsoft Teams ? Découvrez des solutions éprouvées, étape par étape, pour résoudre rapidement le problème, restaurer vos onglets Wiki et optimiser la productivité de votre équipe en toute simplicité.

Comment résoudre lerreur matérielle de Microsoft Teams (correction du registre 2026)

Comment résoudre lerreur matérielle de Microsoft Teams (correction du registre 2026)

Vous en avez assez des plantages de Microsoft Teams avec erreur critique ? Découvrez la solution éprouvée de 2026 modifications du registre qui résout le problème en quelques minutes. Guide pas à pas, captures d'écran et astuces pour une solution définitive. Compatible avec les dernières versions !