Comment arrêter correctement une goroutine en Go ? Problèmes d'arrêt des tâches en arrière-plan
Bonjour à tous ! Je suis un développeur Go débutant et j'ai un problème avec la gestion des goroutines. J'écris un petit service qui vérifie périodiquement l'état d'une API externe et met à jour un cache local. Pour cela, je lance une goroutine en arrière-plan avec une boucle infinie et time.Sleep.
Le problème est que lors de l'arrêt du programme (par exemple avec Ctrl+C) ou lorsque je dois redémarrer la goroutine, je ne peux pas l'arrêter correctement. Si je termine simplement le main, la goroutine continue de planer ou panique. J'ai essayé d'utiliser un flag global `var running bool` et de le vérifier dans la boucle, mais cela ne fonctionne pas instantanément, et parfois la goroutine se bloque sur des opérations d'entrée/sortie.
Voici un exemple de mon code :
```go
package main
import (
"fmt"
"time"
)
func worker() {
for {
fmt.Print