Middle+
რა წესით კითხულობს select ოპერატორი რამდენიმე არხიდან?
sobes.tech AI
პასუხი AI-სგან
Go ۾، select آپريٽر تصادفي طور تي هڪ تيار (ready) چينل چوندو آهي، جيڪڏهن ڪيترائي هجن. جيڪڏهن ڪو به چينل تيار نه هجي، ته select بلاڪ ٿي ويندو آهي (جيڪڏهن default ناهي).
ڪئين ڪيترن چينلن مان پڙهڻ جو ترتيب مقرر ٿيل ناهي ۽ گارنٽي ٿيل ناهي. اهو روڪجڻ ۽ منصفانه ورڇ کي يقيني بڻائڻ لاءِ ڪيو ويو آهي.
مثال:
select {
case msg1 := <-chan1:
fmt.Println("chan1 مان وصول ڪيو:", msg1)
case msg2 := <-chan2:
fmt.Println("chan2 مان وصول ڪيو:", msg2)
default:
fmt.Println("ڪو به تيار چينل ناهي")
}
جيڪڏهن ٻئي، chan1 ۽ chan2، تيار آهن، ته Go تصادفي طور تي انهن مان هڪ چوندو آهي.