Sobes.tech
Junior — Middle

Агар кӯшиш кунед, ки маълумотҳоро аз канали, ки ҳанӯз инициализатсия нашудааст, хонед, чӣ мешавад?

sobes.tech AI

Ҷавоб аз AI

Агар تاسو هڅه وکړئ چې معلومات له یو کانال څخه په Go کې چې لاهم نه دی پیل شوی (یعنې nil دی)، لوستلو عملیات به تلپاتې وخت لپاره بلاک شي. دا به سبب شي چې هغه goroutine چې هڅه کوي له دې کانال څخه لوستل وکړي، ودرول شي، ځکه چې کانال شتون نه لري او معلومات نشي لیږدلی.

مثال:

var ch chan int // ch nil دی

func main() {
    fmt.Println(<-ch) // تلپاتې وخت لپاره بلاک کیږي
}

د دې مخنیوي لپاره، باید کانال د make په مرسته پیل شي، لکه: ch := make(chan int).