Compilateur CLI Golang en Ligne

Testez du code Go en temps réel via une CLI online. Aucune installation requise, parfait pour apprendre, coder et déboguer.

🚀 176,673 exécutions totales (649 ce mois-ci)

📚 Les meilleurs cours de Go à essayer absolument

Loading...

💡 Guide des bases de Go pour les débutants

1. Déclaration de Variables et Constantes

Utilisez var ou := pour déclarer des variables. Utilisez const pour les constantes.

package main

var x int = 10
const Pi = 3.14

func main() {
    name := "Alice"
    isActive := true
    println(x, Pi, name, isActive)
}

2. Conditionnelles (if / switch)

Go prend en charge les instructions if-else et switch avec une syntaxe claire.

x := 2
if x == 1 {
    println("One")
} else if x == 2 {
    println("Two")
} else {
    println("Other")
}

switch x {
case 1:
    println("One")
case 2:
    println("Two")
default:
    println("Other")
}

3. Boucles

Go utilise uniquement la boucle for, mais elle peut agir comme une boucle while.

for i := 0; i < 3; i++ {
    println(i)
}

n := 3
for n > 0 {
    println(n)
    n--
}

4. Tableaux

Les tableaux ont une taille fixe. Utilisez des slices pour des listes dynamiques.

var nums = [3]int{10, 20, 30}
println(nums[1])

5. Manipulation de Slices

Utilisez les slices et les fonctions intégrées append, len, copy, et la syntaxe de découpage.

fruits := []string{"apple", "banana"}
fruits = append(fruits, "cherry")
fruits = fruits[1:]  // slice
println(len(fruits))

for _, fruit := range fruits {
    println(fruit)
}

6. Entrée/Sortie Console

Utilisez fmt.Print, fmt.Scan, et fmt.Println.

import "fmt"

var name string
fmt.Print("Enter your name: ")
fmt.Scan(&name)
fmt.Println("Hello", name)

7. Fonctions

Les fonctions sont déclarées avec func et peuvent retourner plusieurs valeurs.

func greet(name string) string {
    return "Hello, " + name
}

message := greet("Alice")
println(message)

8. Maps

Les maps sont des magasins clé-valeur. Déclarez-les avec make().

ages := map[string]int{"Alice": 30}
ages["Bob"] = 25
println(ages["Alice"])

9. Gestion des Erreurs

Go utilise plusieurs valeurs de retour pour les erreurs au lieu des exceptions.

import "errors"

func fail() error {
    return errors.New("something went wrong")
}

err := fail()
if err != nil {
    println(err.Error())
}

10. Entrée/Sortie Fichier

Utilisez les packages os et io/ioutil pour lire/écrire des fichiers.

import (
  "fmt"
  "os"
  "io/ioutil"
)

ioutil.WriteFile("file.txt", []byte("Hello File"), 0644)

data, _ := ioutil.ReadFile("file.txt")
fmt.Println(string(data))

11. Manipulation de Chaînes

Utilisez le package strings pour les opérations sur les chaînes.

import "strings"

text := "  Hello World  "
println(strings.TrimSpace(text))
println(strings.ToUpper(text))
println(strings.ReplaceAll(text, "Hello", "Hi"))

words := strings.Split(text, " ")
fmt.Println(words)

12. Structs & Objets

Utilisez les structs pour définir des types personnalisés avec des méthodes.

type Person struct {
  Name string
}

func (p Person) Greet() string {
  return "Hi, I'm " + p.Name
}

p := Person{Name: "Alice"}
println(p.Greet())

13. Références (Pointeurs)

Go prend en charge les pointeurs en utilisant * et &.

x := 10
ptr := &x
*ptr = 20
println(x) // 20