Maison > développement back-end > Golang > Comment initialiser efficacement un tableau booléen en Go sans boucle For ?

Comment initialiser efficacement un tableau booléen en Go sans boucle For ?

Linda Hamilton
Libérer: 2024-11-01 02:04:02
original
924 Les gens l'ont consulté

How to Efficiently Initialize a Boolean Array in Go Without a For Loop?

Initialisation efficace d'un tableau sans boucle For dans Go

Pour initialiser un tableau de valeurs booléennes avec des valeurs vraies, une boucle for est généralement la approche la plus simple. Cependant, il existe des méthodes alternatives qui peuvent être plus efficaces dans certains scénarios.

Une stratégie consiste à tirer parti du fait qu'un tableau ou une tranche nouvellement créé dans Go est initialisé avec des valeurs nulles. Pour les tableaux booléens, cela signifie que tous les éléments seront faux. En créant un tableau de la taille souhaitée, vous pouvez initialiser efficacement tous les éléments à true en attribuant simplement les éléments du tableau comme suit :

<code class="go">const n = 100
b := make([]bool, n)</code>
Copier après la connexion

Une autre option consiste à utiliser la syntaxe littérale composite. Bien que cela ne soit pas significativement plus court que l'utilisation d'une boucle for, cela peut fournir une représentation plus compacte :

<code class="go">b1 := []bool{true, true, true}
b2 := [3]bool{true, true, true}</code>
Copier après la connexion

Si la taille du tableau est grande, l'utilisation d'une boucle for reste la solution la plus simple et la plus efficace. Cependant, vous pouvez envisager de repenser la logique de votre application. Par exemple, si le tableau représente les fichiers actuellement présents, vous pouvez utiliser la tranche pour savoir si des fichiers sont manquants. De cette façon, la valeur zéro par défaut de false indiquerait qu'un fichier est présent :

<code class="go">present := make([]bool, n)</code>
Copier après la connexion

Enfin, notez que pour une initialisation plus efficace du tableau, vous pouvez vous référer à la question "Y a-t-il un analogue de memset dans Aller?" pour des solutions potentielles.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal