Middle
Avez-vous déjà dû travailler avec l'asynchronie?
sobes.tech IA
Réponse de l'IA
Oui, travailler avec l'asynchronie est une pratique courante, surtout lors du traitement de données et de l'interaction avec des services externes. En Go, on utilise des goroutines et des canaux pour exécuter des tâches en parallèle et gérer efficacement les flux de données.
Exemple de traitement asynchrone avec des goroutines et des canaux:
func processData(data []int, results chan<- int) {
for _, v := range data {
// simulation de traitement
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("Traité:", res)
}
}
L'asynchronie aide à ne pas bloquer le fil principal et améliore la performance lors du traitement de grands volumes de données ou de requêtes réseau.