Compilateur Golang en ligne - Exécutez et testez du code Go instantanément

Écrivez, compilez et exécutez du code Golang instantanément dans votre navigateur avec notre compilateur Go en ligne gratuit. Parfait pour apprendre, tester rapidement et s'entraîner pour des entretiens — aucune configuration ou installation nécessaire.

💡 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