Junior — Middle
Агар шумо кӯшиш кунед, ки каналро, ки аллакай баста шудааст, бубаст, чӣ мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go кӯшиши бастани канале, ки аллакай баста шудааст, дар вақти иҷрои барнома ба panic (паника) оварда мерасонад. Ин ба он вобаста аст, ки функсияи close() барои бастани канал танҳо як маротиба пешбинӣ шудааст, ва бастани такрорӣ хато ҳисобида мешавад.
Масалан:
ch := make(chan int)
close(ch) // бастани дуруст
close(ch) // боиси panic: close of closed channel
Барои пешгирӣ аз panic, бояд таъмин кард, ки канал танҳо як маротиба баста шавад, масалан, бо истифода аз логикаи иловагӣ ё ҳамоҳангсозӣ.