Sobes.tech
Junior — Middle

Est-il possible qu'une situation se produise où la variable len affiche une longueur inférieure à la taille réelle du tableau ou de la tranche?

sobes.tech IA

Réponse de l'IA

En Go, la variable len pour un tableau ou une tranche reflète toujours la longueur actuelle, renvoyée par la fonction intégrée len().

  • Pour un tableau, len est toujours égal à la taille du tableau et ne change pas.
  • Pour une tranche, len indique le nombre d'éléments dans la tranche, qui peut être inférieur ou égal à la capacité de la tranche.

Il est impossible que len soit inférieur à la taille réelle du tableau, car len pour un tableau est fixe et égal à la taille.

Pour une tranche, la longueur peut être inférieure à la capacité, mais pas supérieure au nombre réel d'éléments accessibles par l'indice.

Exemple:

arr := [5]int{1,2,3,4,5}
fmt.Println(len(arr)) // 5

slice := arr[1:3]
fmt.Println(len(slice)) // 2
fmt.Println(cap(slice)) // 4

Ici, la longueur de la tranche est 2, bien que la capacité soit 4. Mais la longueur ne peut pas être supérieure à la taille réelle de la tranche.