Junior — Middle
Go dilinde boş (nil) bir kanala yazma işlemi gerçekleştirildiğinde ne olur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da nil kanala değer yazmaya çalışırsanız, program sonsuza kadar bloklanır (deadlock). Bu, nil kanalın başlatılmamış olması ve değer alamaması veya göndermemesi nedeniyle olur.
Örnek:
var ch chan int // ch == nil
func main() {
ch <- 1 // burada program takılır
}
Bunu önlemek için, kanalı make kullanarak başlatmalısınız, örneğin:
ch := make(chan int)
Sadece bundan sonra kanala güvenle yazabilir ve okuyabilirsiniz.