Junior
Welche Operationen können mit Kanälen in Go durchgeführt werden?
sobes.tech KI
Antwort von AI
- Senden (
<-chan) - Empfangen (
chan<-) - Schließen (
close) - Überprüfung auf Schließung (zweiter Rückgabewert beim Empfangen)
- Verwendung in
select - Definition der Puffergröße (mit
cap) - Bestimmung der aktuellen Anzahl der Elemente (mit
len)
Beispiel:
// Erstellen eines gepufferten Kanals
ch := make(chan int, 5)
// Senden eines Werts
ch <- 10
// Empfangen eines Werts
val := <-ch
// Überprüfung auf Schließung beim Empfang
val, ok := <-ch
// Kanal schließen
close(ch)
// Verwendung in select
select {
case msg1 := <-ch1:
// Verarbeitung von Nachrichten aus ch1
case msg2 := <-ch2:
// Verarbeitung von Nachrichten aus ch2
default:
// Keine verfügbaren Nachrichten
}
// Bestimmung der Puffergröße
bufferSize := cap(ch)
// Bestimmung der aktuellen Anzahl der Elemente
currentElements := len(ch)