Votre premier programme Go

Créez un module Go, écrivez un Hello World exécutable dans main.go, puis lancez-le et compilez-le en découvrant package main, les imports et func main.

Prérequis

Objectifs pédagogiques

  • Créer un module Go avec go mod init
  • Écrire et exécuter un programme Hello World
  • Comprendre package main, les imports et func main

Il est temps d’écrire et d’exécuter du vrai Go. Dans cette leçon, vous créez un module, écrivez un programme Hello World dans main.go, l’exécutez avec go run, puis compilez un binaire autonome avec go build — tout en comprenant le rôle de chaque ligne.

Créer un module

Un projet Go est un module, décrit par un fichier go.mod. Créez un dossier vide, ouvrez-y un terminal, et initialisez le module :

mkdir hello
cd hello
go mod init example/hello

Cette commande écrit un petit fichier go.mod qui note le chemin du module et la version de Go :

module example/hello

go 1.24

Le chemin du module (example/hello) n’est qu’un identifiant. Pour un projet que vous comptez publier, vous utiliseriez le chemin de son dépôt, par exemple github.com/vous/hello.

Écrire main.go

Créez un fichier nommé main.go à côté de go.mod et saisissez ce programme complet et exécutable :

package main

import "fmt"

func main() {
	fmt.Println("Bonjour, le monde !")
}

C’est un programme Go complet. Enregistrez le fichier : la section suivante l’exécute.

Comprendre chaque partie

Chaque ligne ci-dessus a un rôle :

  • package main déclare que ce fichier appartient au package main. Un programme exécutable doit avoir un package main ; tout autre nom produit une bibliothèque plutôt qu’un exécutable.
  • import "fmt" importe le package fmt de la bibliothèque standard, qui gère les entrées et sorties formatées.
  • func main() est le point d’entrée. À l’exécution, Go appelle main en premier ; lorsqu’elle se termine, le programme s’arrête.
  • fmt.Println(...) affiche son argument suivi d’un retour à la ligne.

L’exécuter avec go run

Depuis le dossier du module, exécutez le programme avec :

go run .

Le . indique à Go de compiler et d’exécuter le package du dossier courant. Vous verrez :

Bonjour, le monde !

go run compile vers un emplacement temporaire et exécute aussitôt : idéal pendant vos expérimentations.

Compiler un binaire avec go build

Quand vous voulez un fichier à partager ou à déployer, compilez-le plutôt :

go build

Cela produit un exécutable dans le dossier courant — hello sur macOS et Linux, hello.exe sur Windows — nommé d’après le module. Lancez-le directement :

./hello

La sortie est le même Bonjour, le monde !, mais c’est maintenant un binaire autonome qui ne nécessite aucune installation de Go pour s’exécuter.

Erreurs fréquentes

  • Mauvais nom de package. Si la première ligne n’est pas package main, go run et go build ne créeront pas de programme exécutable.
  • Import manquant. Utiliser fmt.Println sans import "fmt" ne compile pas. À l’inverse, importer un package jamais utilisé est aussi une erreur.
  • Lancer depuis le mauvais dossier. go run . et go build doivent s’exécuter dans le dossier du module qui contient go.mod et main.go.

À vous de jouer

À partir du même module, modifiez le programme pour qu’il affiche deux lignes : Bonjour, le monde ! puis J’écris du Go..

Afficher la correction

Ajoutez un second appel à fmt.Println dans main :

package main

import "fmt"

func main() {
	fmt.Println("Bonjour, le monde !")
	fmt.Println("J’écris du Go.")
}

Exécutez-le avec go run .. Chaque Println affiche son texte sur sa propre ligne : le programme produit donc les deux messages dans l’ordre.

Résumé

  • Un projet Go est un module créé avec go mod init <chemin>.
  • Un programme exécutable a besoin de package main et d’un point d’entrée func main.
  • Utilisez go run . pour exécuter pendant le développement et go build pour produire un binaire.

Maintenant que vous savez exécuter du code, apprenez à stocker et utiliser des valeurs avec les variables et les types en Go. Vous pouvez aussi revenir à l’index du cours Go complet.

Votre progression est enregistrée uniquement dans ce navigateur. Aucun compte n’est requis.

Recherche

La recherche s’exécute entièrement dans votre navigateur.