Senior
Šta se dešava prilikom zapisivanja u neinicializovan kanal (nil)?
sobes.tech АИ
Одговор од АИ
U Go, zapisivanje u neinicijalizovani (nil) kanal dovodi do zauvek blokirane goroutine, jer nil-kanal nije spreman da prima ili šalje podatke.
Primer:
var ch chan int // ch == nil
func main() {
ch <- 1 // zauvek blokira, jer je kanal nil
}
Ovo ponašanje se ponekad koristi za dinamičko uključivanje/isključivanje kanala u select, jer operacije sa nil-kanalom nikada ne izvršavaju i blokiraju goroutine.