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,
lenest toujours égal à la taille du tableau et ne change pas. - Pour une tranche,
lenindique 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.