Middle
Работили ли сте някога с асинхронност?
sobes.tech AI
Отговор от AI
Да, работата с асинхронност е честа практика, особено при обработката на данни и взаимодействието с външни услуги. В Go се използват горутини и канали, които позволяват изпълнение на задачи паралелно и ефективно управление на потоковете от данни.
Пример за асинхронна обработка с горутини и канали:
func processData(data []int, results chan<- int) {
for _, v := range data {
// имитация на обработка
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("Обработено:", res)
}
}
Асинхронността помага да не блокира основния поток и подобрява производителността при работа с големи обеми данни или мрежови заявки.