Sobes.tech
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: жабылган каналга жөнөтүү