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.