Junior — Middle
Kas notiks, ja veicat rakstīšanas operāciju tukšā (nil) kanālā Go valodā?
sobes.tech AI
Atbilde no AI
Ja mēģināt ierakstīt vērtību nil kanālā Go, programma uz visiem laikiem bloķēsies (deadlock). Tas notiek tāpēc, ka nil kanāls nav inicializēts un nevar pieņemt vai sūtīt vērtības.
Piemērs:
var ch chan int // ch == nil
func main() {
ch <- 1 // šeit programma iestrēgs
}
Lai izvairītos no tā, kanāls jāinicializē ar make, piemēram:
ch := make(chan int)
Tikai pēc tam ir droši rakstīt un lasīt no kanāla.