Junior — Middle
რა მოხდება, თუ გსურთ წერა ცარიელ (nil) არხზე Go ენაში?
sobes.tech AI
პასუხი AI-სგან
Go-ში, თუ სცადეთ მნიშვნელობის დაწერა nil-კანალში, პროგრამა სამუდამოდ გაჩერდება (deadlock). ეს ხდება იმიტომ, რომ nil-კანალი არ არის ინიციალიზებული და ვერ იღებს ან აგზავნის მნიშვნელობებს.
მაგალითი:
var ch chan int // ch == nil
func main() {
ch <- 1 // აქ პროგრამა გაჩერდება
}
გადარჩენის მიზნით, უნდა ინიციალიზდეს make-ის გამოყენებით, მაგალითად:
ch := make(chan int)
ამის შემდეგ, უსაფრთხოდ შეგიძლიათ წერა და კითხვა არხიდან.