Senior
რა ხდება დახურულ არხში კითვისა და წერის დროს?
sobes.tech AI
პასუხი AI-სგან
Go-ში, როდესაც მუშაობთ არხებთან:
-
დახურული არხიდან კითხვა: თუ არხი დახურულია და მასში მონაცემები არ არის, კითხვა აბრუნებს არხის ტიპის ნულოვან მნიშვნელობას და
falseმეორე დაბრუნებულ მნიშვნელობაში (თუ გამოიყენება), რაც მიუთითებს არხის დახურვაზე. -
დახურული არხზე დაწერა: მცდელობა დაწეროს დახურულ არხზე გამოიწვევს პანიკას (
panic). ეს არის შესრულების დროს შეცდომა.
მაგალითი:
ch := make(chan int)
close(ch)
// კითხვა
v, ok := <-ch // ok == false, v == 0
// დაწერა
ch <- 1 // panic: send on closed channel
ამიტომ, დახურული არხიდან უსაფრთხოდ შეიძლება კითხვა მანამ, სანამ მასში მონაცემებია, მაგრამ დაწერა არ შეიძლება.