Heim >Backend-Entwicklung >Golang >Wie kann ich ein boolesches Array in Go ohne For-Schleife effizient initialisieren?

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

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 02:04:02925Durchsuche

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>

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>

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>

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!

Stellungnahme:
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