Maison >développement back-end >Golang >Comment déterminer la taille et le nombre d'éléments initialisés dans un tableau Go ?
Détermination de la taille d'un tableau dans Go
Dans Go, les tableaux ont des tailles fixes, ce qui signifie qu'ils ne peuvent pas être redimensionnés après leur création. La longueur d’un tableau est donc une propriété intrinsèque de son type. La fonction len() peut révéler cette longueur, qui reste constante tout au long de la durée de vie du tableau.
Comportement contre-intuitif de len()
L'exemple fourni illustre un malentendu courant. La fonction len() renvoie la taille déclarée du tableau, qui est 100 dans ce cas. Cependant, le résultat peut être trompeur si vous vous attendez à ce qu'il représente le nombre d'éléments initialisés à des valeurs non nulles.
Les tableaux non initialisés dans Go
Les tableaux Go sont automatiquement initialisé avec des valeurs nulles pour tous les éléments. Ainsi, même si le tableau a une taille déclarée de 100, il ne contient que des zéros jusqu'à ce que des valeurs explicites soient attribuées à des indices spécifiques. Cela signifie que le « total des éléments dans le tableau » est effectivement toujours le même que la taille déclarée.
Slices : une histoire différente
Les tranches, contrairement aux tableaux, fournir une vue dynamique dans une partie d'un tableau sous-jacent. Ils ont une longueur et une capacité, la capacité étant la longueur maximale à laquelle la tranche peut être étendue. Lorsqu'une tranche est étendue au-delà de sa longueur actuelle, Go alloue automatiquement un tableau sous-jacent plus grand et ajuste le descripteur de tranche en conséquence.
Si vous êtes intéressé par le nombre d'éléments non nuls dans un tableau, pensez à utiliser for- range boucles pour parcourir les éléments et compter ceux qui sont différents de zéro. Vous pouvez également utiliser des tranches et modifier la longueur des tranches selon vos besoins.
Pour une compréhension complète des tableaux et des tranches dans Go, reportez-vous aux articles de blog recommandés sur les tranches et les tableaux Go. Ces ressources fournissent des informations détaillées sur les nuances et le fonctionnement interne des opérations sur les tableaux et les tranches dans le langage Go.
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!