Slice Chunking in Go
Problem:
Wie verteilt man eine bestimmte Scheibe gleichmäßig darauf? mehrere Scheiben hinein Los?
Lösung:
Um eine Scheibe gleichmäßig zu teilen, befolgen Sie diese Schritte:
Hier ist eine überarbeitete Version des in der Frage bereitgestellten Codes:
var divided [][]string chunkSize := (len(logs) + runtime.NumCPU - 1) / runtime.NumCPU for i := 0; i < len(logs); i += chunkSize { end := i + chunkSize if end > len(logs) { end = len(logs) } divided = append(divided, logs[i:end]) }
Dieser aktualisierte Code erstellt eine gleichmäßige Verteilung Chunk-Slices durch Anhängen von Teilmengen des Original-Slices an die Slices-Slice. Die Chunk-Größe wird berechnet, um sicherzustellen, dass alle Elemente möglichst gleichmäßig verteilt sind.
Das obige ist der detaillierte Inhalt vonWie verteile ich ein Go-Slice gleichmäßig in mehrere Stücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!