Sobes.tech
Junior — Middle

Henüz başlatılmamış bir kanaldan veri okumaya çalışırsanız ne olur?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da henüz başlatılmamış (yani nil olan) bir kanaldan veri okumaya çalışırsanız, okuma işlemi sonsuza kadar engellenir. Bu, bu kanaldan veri okumaya çalışan goroutine'in takılı kalmasına neden olur, çünkü kanal mevcut değildir ve veri iletemez.

Örnek:

var ch chan int // ch nil

func main() {
    fmt.Println(<-ch) // sonsuza kadar engellenir
}

Bunu önlemek için, kanalı make kullanarak başlatmalısınız, örneğin: ch := make(chan int).