Maison >développement back-end >Golang >Comment compter avec précision les éléments non nuls dans un tableau Go ?

Comment compter avec précision les éléments non nuls dans un tableau Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 08:09:16871parcourir

How Do I Accurately Count Non-Zero Elements in a Go Array?

Comptage des éléments dans un tableau dans Go

Dans Go, les tableaux sont de taille fixe et ne peuvent pas être redimensionnés dynamiquement. La longueur d'un tableau est une propriété intrinsèque de son type. Par conséquent, l'approche courante consistant à utiliser la fonction len(), comme illustré dans l'extrait de code fourni, récupère la taille déclarée du tableau plutôt que le nombre d'éléments actuellement définis.

Dans Go, les éléments du tableau sont initialisés. à leur valeur nulle lors de la création. Par exemple, un tableau d’entiers verra tous ses éléments initialisés à 0, tandis qu’un tableau de booléens sera initialisé à false. Ainsi, le « total d'éléments dans le tableau », qui dans ce contexte fait référence au nombre d'éléments non nuls, est toujours égal à la longueur du tableau.

La spécification Go indique explicitement : « La longueur fait partie de le type du tableau ; il doit être évalué comme une constante non négative représentable par une valeur de type int. La longueur du tableau a peut être découverte à l'aide de la fonction intégrée len()."

Cependant, les tranches, qui sont des vues de taille dynamique des tableaux sous-jacents, offrent une approche plus flexible. Un en-tête de tranche contient un pointeur vers l'élément de base du tableau, une longueur représentant le nombre d'éléments accessibles et une capacité indiquant la longueur potentielle maximale. En utilisant des tranches, on peut ajuster dynamiquement le nombre d'éléments accessibles dans un segment contigu du tableau sous-jacent.

Pour une meilleure compréhension, reportez-vous aux ressources suivantes :

  • Le blog Go : Go Slices : utilisation et composants internes
  • Le blog Go : tableaux, tranches (et chaînes) : la mécanique de 'ajouter'

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn