Lorsque vous travaillez avec des tableaux dans Go, il est essentiel de comprendre comment déterminer efficacement leur taille. Cet article approfondit les différentes approches disponibles.
La question initiale découle du fait que la fonction len() renvoie la taille déclarée d'un tableau, plutôt que le nombre réel d'éléments initialisés.
package main var check [100]int func main() { println(len(check)) }
Sortie : 100
Alors que le code ci-dessus déclare un tableau de taille 100, la fonction len() signale cette taille, même si aucun des éléments les éléments ont été initialisés.
Dans Go, les tableaux sont de taille fixe. Cela signifie qu'une fois créés, leur taille ne peut plus être modifiée. Par conséquent, la longueur d’un tableau est une propriété intrinsèque de son type. Pour un tableau de type [100]int, la longueur sera toujours de 100, et len() reflète cette valeur constante.
Contrairement à d'autres langages, Go ne suit pas la nombre d'éléments initialisés dans un tableau. En effet, les tableaux sont initialisés à leur valeur zéro lors de leur création. Par exemple, dans un tableau d’entiers, tous les éléments seront définis par défaut sur 0. Par conséquent, il n'est pas nécessaire d'avoir un mécanisme distinct pour compter les éléments initialisés.
Si vous avez besoin d'une structure de données qui se développe dynamiquement pour accueillir de nouveaux éléments, envisagez plutôt d'utiliser des tranches. de tableaux. Les tranches sont un type de référence qui fournit une vue flexible dans un tableau sous-jacent.
package main func main() { s := []int{1, 2, 3} fmt.Println(len(s)) // Outputs: 3 }
Dans cet exemple, s est une tranche faisant référence à un tableau de taille 3. La fonction len() renvoie correctement le nombre de tranches initialisées. éléments.
Comprendre comment déterminer la taille d'un tableau dans Go est crucial pour une gestion efficace des données. Les tableaux offrent un stockage de taille fixe, tandis que les tranches offrent une alternative dynamique pour gérer des éléments de taille variable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!