Middle
Da li ste ikada morali da radite sa asinhronošću?
sobes.tech АИ
Одговор од АИ
Da, rad s asinhronim operacijama je uobičajena praksa, posebno pri obradi podataka i interakciji sa spoljnim servisima. U Go jeziku, za to se koriste gorutine i kanali, koji omogućavaju izvršavanje zadataka paralelno i efikasno upravljanje tokovima podataka.
Primer asinhrone obrade sa gorutinama i kanalima:
func processData(data []int, results chan<- int) {
for _, v := range data {
// simulacija obrade
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("Obrađeno:", res)
}
}
Asinhronost pomaže da se ne blokira glavni tok i poboljšava performanse pri radu sa velikim količinama podataka ili mrežnim zahtevima.