Junior — Middle
Чӣ гуна хондани маълумот аз чанд ҷараён ё каналҳо ҳамзамон анҷом дода мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go, барои хондани ҳамзамон аз чанд канал истифода мешавад оператори select. Ин имкон медиҳад, ки интизор шавем, ки маълумот аз чанд канал пайдо шавад ва ба аввалин дастрас ҷавоб диҳем.
Масалан:
ch1 := make(chan int)
ch2 := make(chan int)
go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()
select {
case val := <-ch1:
fmt.Println("Аз ch1 гирифта шуд:", val)
case val := <-ch2:
fmt.Println("Аз ch2 гирифта шуд:", val)
}
Ин тариқ, select бозмедорад, то вақте ки маълумот дар яке аз каналҳо пайдо шавад, ва пас иҷро мекунад, ки мувофиқ аст. Ин имкон медиҳад, ки равандҳои зиёди маълумотро ҳамзамон самаранок идора кардан мумкин шавад.