Nouveau : Datasets open source gratuits disponibles !Decouvrir →
🐹
langages 20 entrees

Go Cheatsheet

"Accélérez votre apprentissage de Go avec cette cheatsheet complète."

Voici une cheatsheet exhaustive en français pour Go :

Bases & syntaxe

Variables et types

package main

import "fmt"

func main() {
    var a int = 10
    b := 20 // Infer type from value
    fmt.Println(a, b)
}

Déclare des variables avec var ou l'opérateur court.

Conditions et boucles

package main

import "fmt"

func main() {
    if x := 10; x > 5 {
        fmt.Println("x est supérieur à 5")
    }

    for i := 0; i < 5; i++ {
        fmt.Print(i, " ")
    }
}

Utilise des structures if et for typiques.

Structures de données

Tableaux

package main

import "fmt"

func main() {
    arr := [3]int{1, 2, 3}
    fmt.Println(arr[0])
}

Déclare un tableau fixe avec une taille spécifique.

Slices

package main

import "fmt"

func main() {
    slice := []int{1, 2, 3}
    append(slice, 4)
    fmt.Println(slice)
}

Utilise des slices pour des tableaux dynamiques et flexibles.

Fonctions & méthodes essentielles

Déclaration de fonctions

package main

import "fmt"

func add(a, b int) int {
    return a + b
}

func main() {
    result := add(5, 3)
    fmt.Println(result)
}

Crée des fonctions avec paramètres et valeurs de retour.

Fonctions anonymes

package main

import "fmt"

func main() {
    func(x int) {
        fmt.Println("Anonyme", x)
    }(10)
}

Déclare des fonctions anonymes pour des opérations courtes.

Patterns courants

Pattern singleton

type Singleton struct{}

var instance *Singleton

func GetInstance() *Singleton {
    if instance == nil {
        instance = &Singleton{}
    }
    return instance
}

Implémente le pattern singleton pour créer une seule instance d'une classe.

Operations avancees

Pointeurs et références

package main

import "fmt"

func main() {
    a := 10
    p := &a
    fmt.Println(*p)
}

Utilise des pointeurs pour modifier les valeurs des variables directement.

Goups de travail (goroutines)

package main

import (
    "fmt"
    "time"
)

func worker(id int) {
    for i := 0; i < 3; i++ {
        time.Sleep(time.Second)
        fmt.Printf("Worker %d: Task %d\n", id, i)
    }
}

func main() {
    for i := 1; i <= 5; i++ {
        go worker(i)
    }
    time.Sleep(2 * time.Second)
}

Crée et gère des groupes de travail pour la concurrence.

Debugging & outils

Utilisation du débogage intégré de GoLand

// Ouvrez le code, cliquez sur "Debug" et sélectionnez un point d'arrêt.
// Le débogueur s'arrêtera là et vous pouvez inspecter les variables.

Gérez l'exécution du code pas à pas et inspectez les valeurs des variables.

Utilisation de pprof pour le profiling

package main

import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        http.ListenAndServe("localhost:6060", nil)
    }()

    // Votre code ici
}

Utilisez pprof pour analyser le temps et l'utilisation de la mémoire.

Projet Go a lancer ?

Besoin d'aide sur un projet ? Decrivez-le pour des conseils personnalises.

Recevoir des conseils

Questions frequentes

A quoi sert cette cheatsheet Go ?
Cette cheatsheet Go regroupe la syntaxe, les commandes et les astuces essentielles pour Go. Elle est concue pour servir d'aide-memoire rapide, que vous soyez debutant ou developpeur confirme cherchant une reference rapide.
Comment utiliser cette cheatsheet Go ?
Parcourez les sections pour trouver la syntaxe ou la commande dont vous avez besoin. Vous pouvez la garder ouverte dans un onglet pendant que vous codez, ou la copier dans vos notes pour un acces hors ligne.
Cette cheatsheet est-elle a jour ?
Oui, nos cheatsheets sont regulierement mises a jour pour refleter les dernieres versions et bonnes pratiques de Go. Si vous remarquez une information obsolete, n'hesitez pas a nous contacter.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.