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 paquetfmt
? -
Nous avons utilisé la fonction
Println
définie dans le paquetfmt
. Si nous voulions utiliser la fonctionExit
du paquetageos
, que faudrait-il faire ? -
Modifiez le programme que nous avons écrit pour qu’au lieu d’imprimer
Hello World
, il imprimeHello, my name is
suivi de votre nom.
← Previous | Index |