Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

Écrire votre premier programme de Go simultané sur Ubuntu

Le langage de programmation Go de Google existe depuis 2009 et en 2012, le langage a atteint son statut officiel v1.0. Au cours de ces années, beaucoup de choses ont changé, y compris la façon dont la langue est installée. À ses débuts, il n’y avait pas de distributions binaires officielles et vous deviez soit créer Go à partir du code source, ce qui était la méthode recommandée car la langue changeait fréquemment, soit utiliser un package pré-construit pour votre distribution Linux. À l’époque, la prise en charge de Windows était limitée, tout comme la prise en charge des architectures de processeurs autres qu’Intel.

Les choses se sont considérablement améliorées depuis lors. Pour Linux, il existe deux manières simples d’installer Go. Téléchargez la version officielle du binaire Linux à partir de la page de téléchargement Go ou optez pour un package pré-construit pour votre distribution Linux. Le moyen le plus simple d’installer Go sur Ubuntu est d’utiliser apt-get :

Une fois Go installé, vous pouvez commencer à développer des programmes. L’un des programmes Go les plus simples est le classique « Hello World! » programme. À l’aide d’un éditeur de texte, créez un fichier appelé « hellomte.go » avec le court code Go suivant :

Depuis la version 1.0 de Go, le besoin de commandes individuelles de compilation et de liaison a été supprimé et les anciennes commandes 8g et 8l ont été remplacées par la commande go.

Psssssst :  À quoi sert la clé Windows sous Linux ?

Pour exécuter hellomte.go, ouvrez un terminal et changez de répertoire dans le dossier qui contient le fichier de code source, puis tapez :

Cela compilera et exécutera le programme Go mais ne produira pas de binaire exécutable. Pour créer un binaire, puis l’exécuter, utilisez la commande go build :

Contenu

Le pouvoir de la simultanéité

L’une des caractéristiques déterminantes du langage de programmation Go est sa prise en charge de la simultanéité qui permet à un programme de travailler avec plusieurs tâches à la fois. Le parallélisme, qui est similaire à la concurrence, permet à un programme d’exécuter de nombreuses tâches simultanément, mais la concurrence va encore plus loin en permettant à ces tâches distinctes de communiquer et d’interagir. En conséquence, Go permet aux programmeurs d’utiliser toute une variété de conceptions simultanées différentes, notamment des pools de travailleurs, des pipelines (où une tâche se produit après l’autre) et des tâches d’arrière-plan synchrones ou asynchrones. La base de cette simultanéité est la goroutine couplée aux canaux et à la déclaration de sélection de Go.

Voici un programme Go simple qui imprime une chaîne plusieurs fois à l’aide d’une goroutine concurrente :

La fonction say() effectue simplement une boucle simple pour imprimer la chaîne (paramètre s) cinq fois. La chose intéressante est de savoir comment cette fonction est appelée. Plutôt que d’appeler simplement say(« Hello Make Tech Easier! »), le mot-clé go est placé devant l’appel de fonction. Cela signifie que la fonction sera exécutée en tant que tâche distincte. Le reste de la fonction main() dort alors juste un peu pour laisser le temps à la goroutine de se terminer.

La sortie peut vous surprendre :

Comme vous pouvez le voir, la fonction say() est exécutée en tant que goroutine et pendant sa configuration, le reste de la fonction main() continue, en imprimant un peu Sleep… puis en se mettant en veille. À ce moment-là, la goroutine est active et commence à imprimer la chaîne cinq fois. Enfin, le programme se termine une fois la limite de timeout atteinte.

Canaux

goroutines peuvent communiquer en utilisant des canaux. Un canal ouvre une ligne de communication entre deux parties différentes d’un programme Go. Généralement, une fonction sera appelée en tant que goroutine et si elle a besoin de renvoyer des données (par exemple à partir d’une opération réseau), elle peut utiliser un canal pour transmettre ces données. Si une autre partie du programme Go attend ces données, il se mettra en veille jusqu’à ce que les données soient prêtes. Les canaux sont créés à l’aide de la fonction make() et ils peuvent être passés en tant que paramètres aux goroutines.

Considérez ce code :

La fonction say() est très similaire au premier exemple à l’exception du fait que le deuxième paramètre est un canal et qu’après l’impression de la chaîne, le nombre d’itérations sera envoyé dans le canal via la ligne de code c <-i.

Psssssst :  Comment démarrer Apache sous Linux ?

La fonction principale crée un canal, démarre la fonction say() en tant que goroutine puis attend que les données descendent du canal, sts := <- c avant d'imprimer le résultat.

Conclusion

Le langage Go a considérablement progressé au cours des dernières années, si vous ne l’avez pas regardé récemment, le moment est peut-être venu !

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci