Middle
Pracovali ste niekedy s asynchrónnosťou?
sobes.tech AI
Odpoveď od AI
Áno, práca s asynchrónnosťou je bežnou praxou, najmä pri spracovaní dát a interakcii s externými službami. V Go sa na to používajú gorutiny a kanály, ktoré umožňujú vykonávať úlohy paralelne a efektívne riadiť tok dát.
Príklad asynchrónneho spracovania s gorutinami a kanálmi:
func processData(data []int, results chan<- int) {
for _, v := range data {
// simulácia spracovania
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("Spracované:", res)
}
}
Asynchrónnosť pomáha neblokovať hlavný tok a zlepšuje výkon pri práci s veľkými objemami dát alebo sieťovými požiadavkami.