Sobes.tech
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.