Site Overlay

Votre premier programme

Traditionnellement, le premier programme que vous écrivez dans n’importe quel langage de programmation est appelé un programme « Hello World » – un programme qui sort simplement Hello World sur votre terminal. Écrivons-en un en utilisant Go.

Tout d’abord, créez un nouveau dossier où nous pourrons stocker notre programme. Créez un dossier nommé ~/src/golang-book/chapter2. (Où ~ signifie votre répertoire personnel) Depuis le terminal, vous pouvez le faire en entrant les commandes suivantes :

mkdir src/golang-bookmkdir src/golang-book/chapter2

En utilisant votre éditeur de texte, tapez ce qui suit :

package mainimport "fmt"// this is a commentfunc main() { fmt.Println("Hello World")}

Assurez-vous que votre fichier est identique à ce qui est montré ici et enregistrez-le sous le nom de main.go dans le dossier que nous venons de créer. Ouvrez un nouveau terminal et tapez ce qui suit :

cd src/golang-book/chapter2go run main.go

Vous devriez voir Hello World affiché dans votre terminal. La commande go run prend les fichiers suivants (séparés par des espaces), les compile dans un exécutable enregistré dans un répertoire temporaire, puis exécute le programme. Si vous n’avez pas vu Hello World affiché, vous avez peut-être fait une erreur en tapant le programme. Le compilateur Go vous donnera des indications sur l’endroit où se trouve l’erreur. Comme la plupart des compilateurs, le compilateur Go est extrêmement pédant et n’a aucune tolérance pour les erreurs.

Comment lire un programme de Go

Regardons ce programme plus en détail. Les programmes de Go se lisent de haut en bas, de gauche à droite. (comme un livre) La première ligne dit ceci :

package main

C’est ce qu’on appelle une « déclaration de package ». Chaque programme Go doit commencer par une déclaration de paquetage. Les paquets sont la façon dont Go organise et réutilise le code. Il existe deux types de programmes Go : les exécutables et les bibliothèques. Les applications exécutables sont les types de programmes que nous pouvons exécuter directement depuis le terminal. (sous Windows, elles se terminent par .exe) Les bibliothèques sont des collections de code que nous regroupons afin de pouvoir les utiliser dans d’autres programmes. Nous explorerons les bibliothèques plus en détail plus tard, pour l’instant assurez-vous simplement d’inclure cette ligne dans tout programme que vous écrivez.

La ligne suivante est une ligne vide. Les ordinateurs représentent les nouvelles lignes par un caractère spécial (ou plusieurs caractères). Les nouvelles lignes, les espaces et les tabulations sont connus sous le nom d’espace blanc (parce que vous ne pouvez pas les voir). Go ne se soucie guère des espaces blancs, nous les utilisons pour rendre les programmes plus faciles à lire. (Vous pourriez supprimer cette ligne et le programme se comporterait exactement de la même manière)

Puis nous voyons ceci:

import "fmt"

Le mot-clé import est la façon dont nous incluons le code d’autres paquets à utiliser avec notre programme. Le paquet fmt (raccourci pour format) implémente le formatage pour l’entrée et la sortie. Compte tenu de ce que nous venons d’apprendre sur les paquets, que pensez-vous que les fichiers du paquet fmt contiendraient en haut de ceux-ci ?

Notez que fmt ci-dessus est entouré de guillemets doubles. L’utilisation de guillemets doubles comme ceci est connue comme une « chaîne littérale » qui est un type d' »expression ». En Go, les chaînes de caractères représentent une séquence de caractères (lettres, chiffres, symboles, …) d’une longueur définie. Les chaînes sont décrites plus en détail dans le chapitre suivant, mais pour l’instant, la chose importante à garder à l’esprit est qu’un caractère d’ouverture " doit éventuellement être suivi d’un autre caractère " et que tout ce qui se trouve entre les deux est inclus dans la chaîne. (Le caractère " lui-même ne fait pas partie de la chaîne de caractères)

La ligne qui commence par // est connue comme un commentaire. Les commentaires sont ignorés par le compilateur Go et sont là pour votre propre bien (ou celui qui récupère le code source de votre programme). Go supporte deux styles différents de commentaires : Les commentaires // dans lesquels tout le texte entre le // et la fin de la ligne fait partie du commentaire et les commentaires /* */ où tout ce qui se trouve entre les *s fait partie du commentaire. (Et peut inclure plusieurs lignes)

Après cela, vous voyez une déclaration de fonction :

func main() { fmt.Println("Hello World")}

Les fonctions sont les blocs de construction d’un programme Go. Elles ont des entrées, des sorties et une série d’étapes appelées instructions qui sont exécutées dans l’ordre. Toutes les fonctions commencent par le mot-clé func suivi du nom de la fonction (main dans ce cas), d’une liste de zéro ou plusieurs « paramètres » entourés de parenthèses, d’un type de retour optionnel et d’un « corps » qui est entouré d’accolades. Cette fonction n’a pas de paramètres, ne renvoie rien et n’a qu’une seule déclaration. Le nom main est spécial car c’est la fonction qui est appelée lorsque vous exécutez le programme.

La pièce finale de notre programme est cette ligne:

 fmt.Println("Hello World")

Cette déclaration est composée de trois éléments. Tout d’abord, nous accédons à une autre fonction à l’intérieur du package fmt appelée Println (c’est la pièce fmt.Println, Println signifie Imprimer la ligne). Ensuite, nous créons une nouvelle chaîne de caractères qui contient Hello World et invoquons (également connu sous le nom d’appel ou d’exécution) cette fonction avec la chaîne de caractères comme premier et seul argument.

À ce stade, nous avons déjà vu beaucoup de nouvelle terminologie et vous pouvez être un peu dépassé. Parfois, il est utile de lire délibérément votre programme à haute voix. Une lecture du programme que nous venons d’écrire pourrait ressembler à ceci :

Créer un nouveau programme exécutable, qui référence la bibliothèque fmt et contient une fonction appelée main. Cette fonction ne prend aucun argument, ne renvoie rien et fait ce qui suit : Accéder à la fonction Println contenue dans le package fmt et l’invoquer en utilisant un argument – la chaîne de caractères Hello World.

La fonction Println fait le vrai travail dans ce programme. Vous pouvez en savoir plus à son sujet en tapant ce qui suit dans votre terminal:

godoc fmt Println

Entre autres choses, vous devriez voir ceci:

Println formats using the default formats for its operands and writes to standard output. Spaces are always added between operands and a newline is appended. It returns the number of bytes written and any write error encountered.

Go est un langage de programmation très bien documenté mais cette documentation peut être difficile à comprendre à moins que vous ne soyez déjà familier avec les langages de programmation. Néanmoins, la commande godoc est extrêmement utile et un bon point de départ chaque fois que vous avez une question.

Retour à la fonction en question, cette documentation vous dit que la fonction Println enverra tout ce que vous lui donnez à la sortie standard – un nom pour la sortie du terminal dans lequel vous travaillez. Cette fonction est ce qui provoque l’affichage de Hello World.

Dans le prochain chapitre, nous explorerons comment Go stocke et représente des choses comme Hello World en apprenant les types.

Problèmes

  • Qu’est-ce qu’un espace blanc ? Quelles sont les deux façons d’écrire un commentaire?

  • Notre programme a commencé par package main. Par quoi commenceraient les fichiers du paquet fmt ?

  • Nous avons utilisé la fonction Println définie dans le paquet fmt. Si nous voulions utiliser la fonction Exit du paquetage os, que faudrait-il faire ?

  • Modifiez le programme que nous avons écrit pour qu’au lieu d’imprimer Hello World, il imprime Hello, my name is suivi de votre nom.

← Previous Index

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.