Zu kennende Fälle bei der Verwendung von Auswahlanweisungen in Golang

In der Sprache Go ist die Select-Anweisung wie die Switch-Anweisung , aber in der Select-Anweisung bezieht sich die Case-Anweisung auf die Kommunikation, d. h. auf den Sende- oder Empfangsvorgang auf dem Kanal.

Zu kennende Fälle bei der Verwendung von Auswahlanweisungen in Golang

Syntax:

select{

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

In diesem Artikel erfahren Sie, wie Sie den Standardfall verwenden, um Deadlocks zu vermeiden. Zunächst erfahren Sie jedoch, was ein Deadlock-Fall bei der Verwendung des Select-Befehls in Golang ist.

Wissenswertes zum Deadlock-Fall in Golang

Deadlock: Wenn Sie versuchen, Daten aus einem Kanal zu lesen oder zu schreiben, dieser aber nicht verfügbar ist, blockiert dies die aktuelle Ausführung der Goroutine und überträgt die Steuerung an andere Goroutinen. Ist jedoch keine andere Goroutine verfügbar oder befinden sich andere aufgrund dieser Situation im Leerlauf, stürzt das Programm ab. Dieses Phänomen wird als Deadlock bezeichnet. Wie im folgenden Beispiel gezeigt:

Zum Beispiel:

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

Ergebnis:

fatal error: all goroutines are asleep - deadlock!

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

Um diese Situation zu vermeiden, verwenden wir den Standardfall in der Select-Anweisung. Anders ausgedrückt: Wenn im Programm ein Deadlock auftritt, wird der Standardfall der Select-Anweisung ausgeführt, um einen Deadlock zu vermeiden. Wie im folgenden Beispiel verwenden wir den Standardfall in der Select-Anweisung, um einen Deadlock zu vermeiden.

Zum Beispiel:

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

Ergebnis:

!.. Default case..!

Sie können den Standardfall auch verwenden, wenn die Select -Anweisung nur einen Nullkanal hat . Wie im folgenden Beispiel gezeigt, ist Kanal c Null, daher wird der Standardfall ausgeführt. Ist der Standardfall hier nicht verfügbar, blockiert das Programm dauerhaft und es kommt zu einem Deadlock.

Zum Beispiel:

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

Ergebnis:

Default case..!

Einen Kommentar hinterlassen

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Compare realistic side hustles for 2026 by startup cost, fees, flexibility, and income control, with current tax and scam guidance from official sources.

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Verbessern Sie die Ergonomie Ihres Homeoffice mit den aktuellen OSHA- und NIOSH-Richtlinien zu Stuhlpassform, Monitorhöhe, Laptop-Aufstellung, Beleuchtung und Bewegungsabläufen.

Why Emotional Intelligence Matters in Leadership—and How to Build It

Why Emotional Intelligence Matters in Leadership—and How to Build It

Learn why emotional intelligence matters in leadership, where it helps most, how to strengthen it, and how to tell whether your approach is working.

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Ein praktischer Leitfaden für den Einstieg in die Tech-Branche ohne Hochschulabschluss: Wählen Sie eine leicht zugängliche Stelle, erwerben Sie berufsrelevante Fähigkeiten, beweisen Sie diese anhand von Projekten und nutzen Sie das Feedback aus dem Bewerbungsprozess, um sich zu verbessern.

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Bauen Sie im Jahr 2026 eine glaubwürdige LinkedIn-Personalmarke auf – mit aktuellem Profil, Inhalten, Newsletter, Analysen, Verifizierung und Sichtbarkeitsberatung von LinkedIn.

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet quitting and quiet firing are catchy labels, not diagnoses. Learn what is verified, what depends on context, and what employees and managers can do next.

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Teilzeit-Führungskräfte bieten Top-Management ohne Vollzeitbeschäftigung. Erfahren Sie, wann dieses Modell funktioniert, welche Fragen Sie stellen sollten und welche Risiken zu berücksichtigen sind.

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Bereiten Sie einen überzeugenderen Antrag auf Gehaltserhöhung im vierten Quartal vor, der aktuelle Lohndaten, Optionen für den Zeitpunkt, mögliche Abwägungen bei der Vergütung sowie Formulierungsvorschläge für die Szenarien Ja, Teilweises oder Nein enthält.

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

Wählen Sie eine gut bezahlte Qualifikation, mit der Sie realistischerweise noch vor Ende 2026 beginnen können, unter Berücksichtigung aktueller Gehaltsdaten, Lernprioritäten und einer praktischen Selbsteinschätzung.

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Build a hybrid work schedule around tasks, team overlap, and measurable outcomes. See sample patterns, warning signs, and when to adjust your plan.