Tableaux multidimensionnels
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 73 sur 109.
Les tableaux multidimensionnels sont des tableaux qui contiennent d'autres tableaux en tant qu'éléments. Ils sont utiles pour représenter des grilles ou des tableaux.
Créez un tableau 2×3 (2 lignes, 3 colonnes) pour représenter une grille de nombres :
grid := [2][3]int{
{1, 2, 3},
{4, 5, 6},
}Accédez aux éléments en utilisant deux indices - le premier pour la ligne, puis le second pour la colonne :
element := grid[0][2]
fmt.Println(element)Ceci affiche l'élément à la ligne 0, colonne 2 :
3Défi
DébutantDans ce défi, vous travaillerez avec un tableau multidimensionnel qui représente une petite grille de nombres. Votre tâche consiste à accéder à un élément spécifique de ce tableau 2D et à l'afficher.
La grille représente un plateau de jeu simple de 3x3 avec des nombres :
1 2 3 4 5 6 7 8 9
Votre travail consiste à afficher la valeur à la ligne 1, colonne 2 (qui devrait être le nombre 6).
Aide-mémoire
Les tableaux multidimensionnels contiennent d'autres tableaux en tant qu'éléments, ce qui est utile pour représenter des grilles ou des tableaux.
Créer un tableau en 2D :
grid := [2][3]int{
{1, 2, 3},
{4, 5, 6},
}Accédez aux éléments en utilisant deux indices - d'abord pour la ligne, puis pour la colonne :
element := grid[0][2] // ligne 0, colonne 2
fmt.Println(element) // affiche : 3Essayez vous-même
package main
import "fmt"
func main() {
// Ceci est une grille 3x3 représentée par un tableau 2D
grid := [][]int{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
}
// TODO: Accéder et afficher la valeur à la ligne 1, colonne 2 (devrait être 6)
// Rappel : les indices de tableau commencent à 0, donc la ligne 1 est la deuxième ligne
// Écrivez votre code sous cette ligne
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaison - Partie 1Opérateurs de comparaison - Partie 2Opérateur logique ANDOpérateur logique OROpérateur logique NOTBases de la priorité des opérateursRécapitulatif - Effectuer des comparaisons7Structures de contrôle : Les boucles
Explication de la boucle `for`Boucle For - Les basesBoucle For - Condition uniquementLe mot-clé `break`Le mot-clé `continue`Boucles imbriquéesRécapitulatif - Répéter des actions10Types composites : Tableaux
Introduction aux tableauxDéclaration de tableauxInitialisation de tableauxAccès aux éléments d'un tableauTaille d'un tableau avec `len`Itération sur les tableauxTableaux multidimensionnels2Variables et types de données de base
Qu'est-ce qu'une variableInférence de type avec `:=` Entiers (int)Nombres à virgule flottanteBooléensChaînes de caractères (Strings)Valeurs zéroConstantesConventions de nommageRécapitulatif - Variables et types5Entrées/Sorties de base
Sortie formatéeVerbes de formatageAffichage des typesSaisie utilisateur de baseRécapitulatif - Entrées et Sorties8Fonctions
Comprendre les fonctionsDéclarer une fonctionAppeler des fonctionsParamètres de fonctionRetourner une valeur uniqueRetourner plusieurs valeursValeurs de retour nomméesBases de la portée des fonctionsRécapitulatif - Créer du code réutilisable11Types composites : Slices
Introduction aux SlicesDéclaration de littéraux de SlicesCréation de Slices avec `make`Longueur vs Capacité des SlicesAccès aux éléments d'un SliceAjout d'élémentsDécoupage de Slices/Tableaux existantsItération sur les SlicesCopie de SlicesRécapitulatif - Listes dynamiques3Opérateurs de base
Opérateurs arithmétiquesOpérateur de divisionL'opérateur moduloOpérateur d'affectationOpérateurs d'affectation augmentéeIncrémentation et décrémentationRécapitulatif - Calculs6Structure de contrôle : Les conditionnelles
L'instruction `if`Le mot-clé `else`Le mot-clé `else if`Masquage de variable dans `if`Initialisation des variablesL'instruction `switch``switch` avec expressions`switch` sans expressionLe mot-clé `fallthrough`Récapitulatif - Prendre des décisions9Pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de variables pointeursL'opérateur d'adresseDéréférencement de pointeursUtiliser des pointeurs dans les fonctionsPointeurs NilRécapitulatif - Comprendre les pointeurs12Types composites : Maps
Introduction aux MapsDéclaration de littéraux de MapCréation de Maps avec `make`Ajout et mise à jour de paires clé-valeurAccès aux valeurs d'une MapVérification de l'existence d'une cléSuppression d'entrées de MapTaille d'une MapItération sur les MapsRécapitulatif - Stockage clé-valeur