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]intet[4]intsont 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
- Tableaux : collections de longueur fixe
- Slices : listes dynamiques
- Maps : tables clé-valeur
- Parcourir des collections avec range