0Pricing
Go Academy · Leçon

Tableaux : collections de longueur fixe

Littéraux de tableaux, indexation et longueur

Tableaux : collections de longueur fixe est une leçon Go Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Go Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Go Academy comprend 4 leçons au total.

Qu’est-ce qu’un tableau ?

Un tableau en Go est une séquence de longueur fixe composée d’éléments du même type. La longueur fait partie du type : [3]int et [4]int sont des types différents.

  • Les tableaux sont des types valeur — une affectation copie le tableau entier
  • La longueur est toujours connue au moment de la compilation
  • Ils sont rarement utilisés directement ; les tranches sont préférées pour la plupart des tâches

Littéraux de tableau

Déclarez et initialisez des tableaux avec un littéral :

package main

func main() {
    primes := [5]int{2, 3, 5, 7, 11}
    names  := [3]string{"Alice", "Bob", "Carol"}
    flags  := [4]bool{true, false, true, false}
    _ = primes; _ = names; _ = flags
}

Longueur et indexation d’un tableau

Utilisez len() pour obtenir la longueur et une indexation à partir de zéro pour lire ou modifier les éléments :

package main
import "fmt"

func main() {
    scores := [3]int{90, 85, 92}
    fmt.Println(len(scores)) // 3
    fmt.Println(scores[0])   // 90
    scores[1] = 100
    fmt.Println(scores)      // [90 100 92]
}

Points de suspension dans les littéraux de tableau

Utilisez [...] pour laisser le compilateur compter les éléments à votre place :

package main
import "fmt"

func main() {
    days := [...]string{"Mon","Tue","Wed","Thu","Fri"}
    fmt.Println(len(days)) // 5
}

Les tableaux sont des types valeur

Lorsque vous affectez ou transmettez un tableau, Go en copie l’intégralité. Modifier la copie ne modifie pas l’original :

package main
import "fmt"

func main() {
    a := [3]int{1, 2, 3}
    b := a     // full copy
    b[0] = 99
    fmt.Println(a) // [1 2 3] — unchanged
    fmt.Println(b) // [99 2 3]
}

Comparer des tableaux

Les tableaux de même type et de même longueur peuvent être comparés avec == et != :

package main
import "fmt"

func main() {
    x := [3]int{1, 2, 3}
    y := [3]int{1, 2, 3}
    z := [3]int{1, 2, 4}
    fmt.Println(x == y) // true
    fmt.Println(x == z) // false
}

Tableaux à deux dimensions

Les tableaux peuvent être imbriqués pour former des grilles ou des matrices :

package main
import "fmt"

func main() {
    grid := [2][3]int{
        {1, 2, 3},
        {4, 5, 6},
    }
    fmt.Println(grid[1][2]) // 6
}

Parcourir un tableau

Utilisez une boucle for classique ou range pour parcourir le tableau :

package main
import "fmt"

func main() {
    nums := [4]int{10, 20, 30, 40}
    for i, v := range nums {
        fmt.Printf("[%d] = %d\n", i, v)
    }
}

Tableaux et tranches

Les principales différences :

  • Tableau : taille fixe, type valeur, taille intégrée au type
  • Tranche : taille dynamique, type référence, reposant sur un tableau
  • En pratique, utilisez des tranches sauf si vous avez besoin d’une taille fixe connue à la compilation (par exemple, un hachage SHA-256 [32]byte)

Pièges courants

Faites attention aux points suivants :

  • Indice hors limites — Go déclenche une panique à l’exécution si i >= len(arr)
  • Transmettre de grands tableaux aux fonctions entraîne des copies coûteuses — utilisez plutôt des pointeurs ou des tranches
  • N’oubliez pas que [3]int et [4]int sont des types incompatibles

Vérification rapide

Quelle est la longueur de [...]string{"a","b","c"} ?

Récapitulatif : tableaux

Points essentiels :

  • Les tableaux ont une longueur fixe, connue à la compilation, qui fait partie du type
  • Ce sont des types valeur — une affectation copie tous les éléments
  • Utilisez len() et une indexation à partir de zéro
  • Préférez les tranches pour la plupart des besoins liés aux collections

Exercice pratique

Déclarez un tableau de 5 entiers, affectez la valeur 100 au troisième élément, puis affichez le tableau avec range.

Questions Fréquemment Posées

La leçon « Tableaux : collections de longueur fixe » est-elle gratuite ?

Oui — le texte complet de « Tableaux : collections de longueur fixe » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Go Academy, passe à CoddyKit PRO. Le cours Go Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Tableaux : collections de longueur fixe » ?

Littéraux de tableaux, indexation et longueur Tu pratiques Go Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Go Academy ?

Aucune expérience préalable n'est requise. Go Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Tableaux : collections de longueur fixe » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Go Academy ?

Oui. Chaque leçon Go Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Tableaux : collections de longueur fixe
  2. Slices : listes dynamiques
  3. Maps : tables clé-valeur
  4. Parcourir des collections avec range
← Retour à Go Academy