Sobes.tech
Junior — Middle

Šta će se desiti ako izvršite operaciju upisa u prazan (nil) kanal u jeziku Go?

sobes.tech АИ

Одговор од АИ

Ako pokušate da napišete vrednost u nil kanal u Go, program će zauvek biti blokiran (deadlock). To se dešava zato što nil kanal nije inicijalizovan i ne može da prima ili šalje vrednosti.

Primer:

var ch chan int // ch == nil

func main() {
    ch <- 1 // ovde će program biti blokiran
}

Da biste izbegli ovo, kanal treba inicijalizovati pomoću make, na primer:

ch := make(chan int)

Tek nakon toga, možete sigurno pisati i čitati iz kanala.