Pour exécuter du code à midi tous les jours dans Go, vous pouvez utiliser diverses méthodes, telles que timer.AfterFunc(), time. Tick(), time.Sleep() ou time.Ticker.
Calcul de l'heure initiale Délai :
Commencez par calculer l'intervalle de temps entre le démarrage du programme et le midi suivant en utilisant :
t := time.Now() n := time.Date(t.Year(), t.Month(), t.Day(), 12, 0, 0, 0, t.Location()) d := n.Sub(t) if d < 0 { n = n.Add(24 * time.Hour) d = n.Sub(t) }
Utilisation du temps.Veille :
Attendez l'intervalle de temps initial en utilisant time.Sleep :
time.Sleep(d)
Configuration pour la tâche de midi :
Ensuite, définissez une fonction pour la tâche de midi :
func noonTask() { fmt.Println(time.Now()) fmt.Println("do some job.") }
Démarrer une boucle continue qui appelle noonTask toutes les 24 heures heures :
d = 24 * time.Hour for { time.Sleep(d) noonTask() }
Utilisation de timer.AfterFunc :
Utilisez timer.AfterFunc pour planifier la première tâche de midi et les suivantes :
timer.AfterFunc(duration(), noonTask)
Utilisation time.Ticker :
Utilisez time.Ticker pour créer un canal qui envoie un signal toutes les 24 heures :
ticker = time.NewTicker(24 * time.Hour) for { <-ticker.C noonTask() }
Bibliothèques alternatives :
Envisagez d'utiliser des bibliothèques externes comme gocron, qui offrent un moyen pratique de planifier des tâches à des moments précis. fois.
N'oubliez pas que l'approche idéale dépend de vos besoins spécifiques et de l'architecture de votre application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!