Sobes.tech
Junior — Middle

Оё иҷозат аст, ки маълумотҳоро ба канали, ки барои хондан ва навиштан кушода нест, фиристод?

sobes.tech AI

Ҷавоб аз AI

У Go, немогуће је слати податке у канал који није отворен за запис. Ако је канал затворен (затвара се помоћу close(channel)), покушај слања у њега изазваће панику (runtime panic).

Међутим, читање из затвореног канала је могуће — при томе, читање ће вратити нулеву вредност типа канала и флаг који указује да је канал затворен.

Пример:

ch := make(chan int)
close(ch)

// Читање из затвореног канала је безбедно
value, ok := <-ch // ok == false

// Слање у затворени канал изазваће панику
ch <- 1 // panic: send on closed channel

Стога, податке је могуће слати само у отворене канале.