Wie kann ich ein boolesches Array in Go ohne For-Schleife effizient initialisieren?

Linda Hamilton
Freigeben: 2024-11-01 02:04:02
Original
856 Leute haben es durchsucht

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

Effiziente Array-Initialisierung ohne For-Schleife in Go

Um ein Array von booleschen Werten mit wahren Werten zu initialisieren, ist normalerweise eine for-Schleife die richtige Wahl einfachste Ansatz. Es gibt jedoch alternative Methoden, die in bestimmten Szenarien effizienter sein können.

Eine Strategie besteht darin, die Tatsache zu nutzen, dass ein neu erstelltes Array oder Slice in Go mit Nullwerten initialisiert wird. Bei booleschen Arrays bedeutet dies, dass alle Elemente falsch sind. Indem Sie ein Array mit der gewünschten Größe erstellen, können Sie alle Elemente effektiv auf „true“ initialisieren, indem Sie die Array-Elemente einfach wie folgt zuweisen:

<code class="go">const n = 100
b := make([]bool, n)</code>
Nach dem Login kopieren

Eine weitere Option ist die Verwendung der zusammengesetzten Literalsyntax. Dies ist zwar nicht wesentlich kürzer als die Verwendung einer for-Schleife, kann aber eine kompaktere Darstellung ermöglichen:

<code class="go">b1 := []bool{true, true, true}
b2 := [3]bool{true, true, true}</code>
Nach dem Login kopieren

Wenn das Array groß ist, bleibt die Verwendung einer for-Schleife die einfachste und effizienteste Lösung. Sie können jedoch erwägen, die Logik Ihrer Anwendung zu überdenken. Wenn das Array beispielsweise Dateien darstellt, die derzeit vorhanden sind, können Sie stattdessen das Slice verwenden, um zu speichern, ob Dateien fehlen. Auf diese Weise würde der standardmäßige Nullwert „false“ anzeigen, dass eine Datei vorhanden ist:

<code class="go">present := make([]bool, n)</code>
Nach dem Login kopieren

Beachten Sie abschließend, dass Sie sich für eine effizientere Array-Initialisierung auf die Frage „Gibt es ein Analogon von memset in“ beziehen können? Gehen?" für mögliche Lösungen.

Das obige ist der detaillierte Inhalt vonWie kann ich ein boolesches Array in Go ohne For-Schleife effizient initialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!