Middle
Dolgozott már aszinkronitással?
sobes.tech MI
Válasz az MI-től
Igen, az aszinkronitással való munka egy általános gyakorlat, különösen az adatok feldolgozásakor és külső szolgáltatásokkal való interakció során. Go-ban goroutine-okat és csatornákat használnak, amelyek lehetővé teszik a feladatok párhuzamos végrehajtását és az adatfolyamok hatékony kezelését.
Példa az aszinkron feldolgozásra goroutine-kkal és csatornákkal:
func processData(data []int, results chan<- int) {
for _, v := range data {
// feldolgozás szimulálása
results <- v * 2
}
close(results)
}
func main() {
data := []int{1, 2, 3, 4, 5}
results := make(chan int)
go processData(data, results)
for res := range results {
fmt.Println("Feldolgozva:", res)
}
}
Az aszinkronitás segít nem blokkolni a fő szálat, és javítja a teljesítményt nagy adatmennyiségek vagy hálózati kérések esetén.