Il est intéressant de pouvoir déclencher l'exécution d'un code golang à un moment donné dans le futur ou à un interval régulier. La bibliothèque standard de go contient deux fonctionnalités que nous allons aborder dans cet article :
Un timer représente un évènement unique dans le futur. Au moment de sa création, vous indiquez au timer combien de temps vous souhaitez attendre et il vous founit en retour un canal (channel) qui sera notifié le temps venu. Voici un exemple de code :
Dans la fonction attendre, le Timer bloque sur le canal evenement.C jusqu'à ce qu'il reçoive une valeur indiquant que le temps est atteint. En fait, le type time.Timer est une structure composée d'un membre C qui est un canal.
Vous pourriez me dire : « mais pourquoi de pas utiliser une pause (avec time.Sleep ? ». Et bien parce que contrairement à la pause, le timer peut être annulé. Regardez cet exemple dans lequel le programme s'arrêtera qui n'affichera jamais « Le temps est arrivé » :
Le Ticker sert à déclencher l'exécution d'un code golang de manière répétée et à un intervalle régulier. Le mécanisme du Ticker est un peu le même que celui du Timer : on attend l'arrivé d'une donnée sur un canal. Les Ticker peuvent également être arrêtés. Voici un exemple de mise en œuvre :
Nous utilisons ici l'instruction range de manière à itérer sur les valeurs du Ticker au fur et à mesure qu'elles arrivent. L'exécution de ce code retournera ce genre résultat (variation en fonction de l'heure du serveur) :
C'est l'heure 2013-12-13 22:11:03.3613859 +0100 PM C'est l'heure 2013-12-13 22:11:03.8614064 +0100 PM C'est l'heure 2013-12-13 22:11:04.3614372 +0100 PM
Traduction d'un article du blog officiel expliquant comment échanger des données entre deux programmes golang grâce à un format natif Lire »
Comment utiliser le mécanisme des fonctions anonymes et des clôtures en golang ? Explications et exemples détaillés. Lire »
Une traduction du blog officiel de golang expliquant le mécanisme de la réflexion en Go. Lire »
Article expliquant comment ajouter de la logique dans son programme Go avec les instructions golang de contrôle, de boucle et d'évaluation de type. Lire »
Cet article vous permettra de comprendre une des bases de tous les langages de programmation : Types, Valeurs, Variables et constantes en go Lire »
Soyez le premier à commenter cet article
Tous les commentaires sont soumis à modération. Les balises HTML sont pour la plupart autorisées. Les liens contextuels et intéressants sont en follow.