Middle+
Каналды окуу кандай шарттарда түбөлүккө тоскоол болот? Nil-каналга жазуу эмне болот? Жабык каналга жазуу кандай болот?
sobes.tech AI
AIден жооп
-
Каналдан окуу каналы бош болсо жана эч ким ага жазууну көздөбөсө, ал дайыма токтоп калат (мисалы, бардык жөнөтүүчүлөр жабык же жок).
-
Nil-каналга жазуу (nil менен бирдей канал) дайыма токтоп калат, анткени nil-канал ишке киргизилген эмес жана маалымат кабыл албайт.
-
Жабылган каналга жазуу Goда паника (panic) пайда кылат, анткени бул тыюу салынган жана иштөө учурунда ката деп эсептелет.
Мисал:
var ch chan int // nil-канал
// <-ch // nil-каналдан окуу дайыма токтоп калат
// ch <- 1 // nil-каналга жазуу дайыма токтоп калат
ch = make(chan int)
close(ch)
// ch <- 2 // panic: жабылган каналга жөнөтүү