Go

Structures de données Go

Arrays, slices, maps, structs, pointers, make vs new, nil values

20 questions d'entretien·
Junior
1

Qu'est-ce qu'un slice en Go ?

Réponse

Un slice est une vue dynamique sur un array sous-jacent qui permet de manipuler des séquences d'éléments de taille variable. Contrairement aux arrays qui ont une taille fixe définie à la compilation, les slices peuvent grandir ou rétrécir dynamiquement grâce à des opérations comme append. Cette flexibilité en fait la structure de données séquentielle la plus utilisée en Go pour stocker des collections d'éléments homogènes.

2

Quelle est la différence principale entre un array et un slice en Go ?

Réponse

La différence fondamentale réside dans la taille : un array a une taille fixe définie à la compilation et fait partie du type lui-même, tandis qu'un slice a une taille dynamique qui peut changer à l'exécution. Cette distinction implique que deux arrays de tailles différentes sont considérés comme des types incompatibles, alors que tous les slices d'un même type d'élément sont compatibles. Les slices sont donc plus flexibles et plus couramment utilisés dans le code Go moderne.

3

Comment créer un slice vide en Go ?

Réponse

La syntaxe littérale avec des crochets vides suivis d'accolades vides est la manière idiomatique de créer un slice vide initialisé. Cette approche crée un slice de longueur 0 mais non nil, prêt à recevoir des éléments via append. Contrairement à une simple déclaration qui donnerait un slice nil, cette initialisation explicite garantit un slice utilisable immédiatement sans risque de comportement inattendu lors de l'ajout d'éléments.

4

Quelle fonction utiliser pour initialiser un slice avec une capacité spécifique ?

5

Que se passe-t-il lors de l'ajout d'un élément à un slice dont la capacité est atteinte ?

+17 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement