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: ёпилган каналага юбориш