Sobes.tech
Junior — Middle

Was passiert, wenn man eine Schreiboperation in einen leeren (nil) Kanal in Go durchführt?

sobes.tech KI

Antwort von AI

Wenn Sie versuchen, einen Wert in einen nil-Kanal in Go zu schreiben, wird das Programm für immer blockieren (Deadlock). Dies liegt daran, dass der nil-Kanal nicht initialisiert ist und keine Werte empfangen oder senden kann.

Beispiel:

var ch chan int // ch == nil

func main() {
    ch <- 1 // hier hängt das Programm
}

Um dies zu vermeiden, muss der Kanal mit make initialisiert werden, zum Beispiel:

ch := make(chan int)

Erst danach kann sicher in den Kanal geschrieben und daraus gelesen werden.