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).