Gibt es eine bessere Möglichkeit, eine Funktion auf Felder eines Objekts anzuwenden und dann das Ergebnis in eine neue Scheibe zu kopieren? Besser, ich meine eine bessere Leistung als eine For-Schleife.Golang kopieren Elemente des Objekts zu schneiden
var tmp []string
for _, value := range some_object.some_field {
tmp = append(tmp, do_something(value))
}
Etwas wie:
tmp := map_copy(do_something(some_object.some_field))
Mit der resultierenden Scheibe Wesen:
tmp[0] = do_something(some_object.some_value[0])
tmp[1] = do_something(some_object.some_value[1])
tmp[2] = do_something(some_object.some_value[2])
....
'map_copy' wäre nur eine Funktion mit Ihrem für Schleife. Ich bin mir nicht sicher, was du fragst. – JimB
Ich könnte es einfach selbst schreiben. Es war mehr auf den Leistungsaspekt ausgerichtet. Vielleicht gibt es etwas schickes internes, ich weiß nicht, welches das besser behandelt als eine for-Schleife. Entschuldigung wenn unklar. – maax
Nicht ganz mit dieser speziellen Frage verwandt, aber es gibt eine Reihe von Slice-Tricks im Wiki, die einige einfache Optimierungen offenbaren, wie z. B. Anfügen mit Auslassungspunkten. Lesen Sie hier https://github.com/golang/go/wiki/SliceTricks – RayfenWindspear