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.