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
Linda Hamiltonoriginal
2024-11-01 02:04:02920parcourir

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>

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>

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>

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!

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