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