Junior — Middle
Quelle est la différence entre les paramètres de longueur et de capacité d'un tableau en programmation?
sobes.tech IA
Réponse de l'IA
En Go, les tableaux ont une longueur fixe qui est définie lors de leur création et ne peut pas être modifiée. Le paramètre longueur (length) du tableau est le nombre d'éléments qu'il contient, et il est fixe.
La capacité (capacity) est le nombre d'éléments qu'un tableau ou une tranche peut contenir sans allocation supplémentaire de mémoire. Pour les tableaux, la capacité est égale à la longueur, car ils sont fixes. Pour les tranches, la capacité peut être supérieure à la longueur, car ce sont des structures dynamiques qui peuvent s'étendre.
Exemple :
arr := [5]int{1, 2, 3, 4, 5} // longueur et capacité égales à 5
slice := arr[1:3] // longueur de la tranche 2 (éléments avec indices 1 et 2)
// capacité de la tranche 4 (du 1er indice jusqu'à la fin du tableau)
fmt.Println(len(slice)) // 2
fmt.Println(cap(slice)) // 4
Ainsi, la longueur est la taille actuelle (nombre d'éléments), et la capacité est la taille maximale sans redistribution de mémoire.