Go, souvent appelé Golang, est un langage de programmation puissant et efficace créé par Google. Il est connu pour sa simplicité, sa lisibilité et son excellent support pour la concurrence. Dans ce tutoriel, nous couvrirons les bases de Go avec des exemples pour vous aider à démarrer.
Table des matières
- Installation
- Hello, World!
- Variables et constantes
- Types de données
- Structures de contrôle
- Fonctions
- Packages
- Concurrence (Goroutines)
1. Installation
Pour commencer avec Go, vous devez l’installer sur votre machine. Rendez-vous sur le site officiel de Go et téléchargez l’installateur pour votre système d’exploitation. Suivez les instructions d’installation fournies.
Après l’installation, ouvrez un terminal ou une invite de commande et vérifiez l’installation en tapant :
go version
Vous devriez voir la version de Go installée affichée.
2. Hello, World!
Commençons par le classique programme « Hello, World! » pour avoir une idée du fonctionnement de Go :
Créez un fichier nommé hello.go et ajoutez le code suivant :
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Pour exécuter ce programme, naviguez vers le répertoire contenant hello.go dans votre terminal et tapez :
go run hello.go
Vous devriez voir « Hello, World! » imprimé dans la console.
3. Variables et constantes
Go est un langage typé statiquement, ce qui signifie que vous devez déclarer le type des variables. Voici un exemple de déclaration de variables et de constantes :
package main
import "fmt"
func main() {
var name string = "Alice"
age := 30 // Inférence de type
fmt.Println("Name:", name)
fmt.Println("Age:", age)
const pi = 3.14159
fmt.Println("Value of Pi:", pi)
}
4. Types de données
Go possède divers types de données intégrés comme int, float64, string, bool, etc. Voici un exemple :
package main
import "fmt"
func main() {
var num1 int = 42
var num2 float64 = 3.14
var str string = "Hello"
var isGoAwesome bool = true
fmt.Println("Integer:", num1)
fmt.Println("Float:", num2)
fmt.Println("String:", str)
fmt.Println("Boolean:", isGoAwesome)
}
5. Structures de contrôle
Go supporte les structures de contrôle typiques comme if, else, for et switch. Voici un exemple :
package main
import "fmt"
func main() {
// If-else
num := 10
if num%2 == 0 {
fmt.Println(num, "is even")
} else {
fmt.Println(num, "is odd")
}
// For loop
for i := 1; i <= 5; i++ {
fmt.Println("Iteration:", i)
}
// Switch
fruit := "apple"
switch fruit {
case "apple":
fmt.Println("It's an apple")
case "banana":
fmt.Println("It's a banana")
default:
fmt.Println("Unknown fruit")
}
}
6. Fonctions
Les fonctions sont définies en utilisant le mot-clé func. Voici un exemple :
package main
import "fmt"
func main() {
result := add(10, 20)
fmt.Println("Result:", result)
}
func add(a, b int) int {
return a + b
}
7. Packages
Le code Go est organisé en packages. Vous pouvez créer vos propres packages ou utiliser les packages de la bibliothèque standard. Voici un exemple utilisant le package math :
package main
import (
"fmt"
"math"
)
func main() {
x := 16.0
fmt.Println("Square root of", x, "is", math.Sqrt(x))
}
8. Concurrence (Goroutines)
L’une des fonctionnalités remarquables de Go est son support intégré pour la concurrence avec les goroutines. Les goroutines sont des threads légers gérés par le runtime Go. Voici un exemple :
package main
import (
"fmt"
"time"
)
func main() {
// Start a goroutine
go countNumbers()
// Let the goroutine run for a while
time.Sleep(time.Second * 2)
fmt.Println("Main function exiting...")
}
func countNumbers() {
for i := 1; i <= 5; i++ {
fmt.Println("Count:", i)
time.Sleep(time.Second)
}
}
Ce programme affichera le compte dans la goroutine pendant que la fonction principale continue de s’exécuter.
Ce tutoriel couvre les bases de Go pour vous aider à démarrer avec ce langage puissant. Au fur et à mesure que vous deviendrez plus à l’aise, explorez la riche bibliothèque standard de Go et ses fonctionnalités avancées pour construire des applications efficaces et évolutives.