Sobes.tech
Junior — Middle

Wat gebeurt er als je een schrijfbewerking uitvoert op een lege (nil) kanaal in Go?

sobes.tech AI

Antwoord van AI

Als je probeert een waarde te schrijven naar een nil-kanaal in Go, wordt het programma voor altijd geblokkeerd (deadlock). Dit gebeurt omdat het nil-kanaal niet geïnitialiseerd is en geen waarden kan ontvangen of verzenden.

Voorbeeld:

var ch chan int // ch == nil

func main() {
    ch <- 1 // hier zal het programma vastlopen
}

Om dit te voorkomen, moet het kanaal worden geïnitialiseerd met make, bijvoorbeeld:

ch := make(chan int)

Pas daarna kun je veilig schrijven en lezen van het kanaal.