Heim >Backend-Entwicklung >Golang >Wie kann ich mithilfe einer generischen Funktion Arrays von Objekten in Go effizient zuordnen?
Arrays von Objekten mithilfe einer generischen Funktion zuordnen
In Go unterliegen Funktionen, die auf Arrays arbeiten, aufgrund ihrer Unflexibilität und dem damit verbundenen Overhead bestimmten Einschränkungen mit Kopierargumenten. In diesem Artikel wird ein Ansatz zur präzisen Zuordnung von Arrays von Objekten mithilfe einer generischen Funktion der obersten Ebene untersucht.
Zur Zuordnung eines Arrays von Objekten in Go Mit einem Einzeiler können Sie eine generische Funktion namens Map wie folgt definieren:
func Map[T, U any](ts []T, f func(T) U) []U { us := make([]U, len(ts)) for i := range ts { us[i] = f(ts[i]) } return us }
Diese Funktion akzeptiert ein Array vom Typ T und eine Funktion f, die einen Parameter vom Typ T akzeptiert und gibt einen Wert vom Typ U zurück. Es gibt ein Array vom Typ U zurück, das die zugeordneten Werte enthält.
Um ein Array von Objekten zuzuordnen, können Sie die Map-Funktion wie folgt verwenden:
names := []string{"Alice", "Bob", "Carol"} fmt.Println(Map(names, utf8.RuneCountInString))
Dieser Code gibt die folgende Ausgabe aus stdout:
[5 3 5]
Die Map-Funktion basiert auf einer Schleife und kann im Vergleich zu nativen Funktionen, die auf Arrays arbeiten, einen Mehraufwand verursachen. Es ist wichtig, die Vorteile einer prägnanten Syntax gegen die möglichen Auswirkungen auf die Leistung abzuwägen.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe einer generischen Funktion Arrays von Objekten in Go effizient zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!