Sobes.tech
Junior — Middle

Wie kann man die Arbeit mit einem Kanal im Programm beenden?

sobes.tech KI

Antwort von AI

In Go wird die Funktion close() verwendet, um die Arbeit mit einem Kanal abzuschließen. Das Schließen eines Kanals signalisiert den Empfängern, dass keine neuen Werte mehr gesendet werden. Nach dem Schließen des Kanals führt ein Versuch, in ihn zu senden, zu einem Panic, aber das Lesen aus einem geschlossenen Kanal ist möglich — es gibt einen Nullwert und false im zweiten Rückgabewert.

Beispiel:

ch := make(chan int)
ngo func() {
    ch <- 42
    close(ch) // Schließen des Kanals nach dem Senden
}()

for val := range ch {
    fmt.Println(val) // Gibt 42 aus
}

Um die Arbeit mit einem Kanal zu beenden, muss close(channel) aufgerufen werden.