Sobes.tech
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)
    }
}

Асинхронността помага да не блокира основния поток и подобрява производителността при работа с големи обеми данни или мрежови заявки.