Heim > Artikel > Backend-Entwicklung > Wie kann ich ein boolesches Array in Go ohne For-Schleife effizient initialisieren?
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!