Heim > Backend-Entwicklung > Golang > Wie kann ich Arrays von Objekten in Go zuordnen?

Wie kann ich Arrays von Objekten in Go zuordnen?

Linda Hamilton
Freigeben: 2025-01-03 08:06:39
Original
756 Leute haben es durchsucht

How Can I Map Arrays of Objects in Go?

Arrays der Objektzuordnung in Go

In Node.js können Sie mit der Funktion „map()“ ein neues Array erstellen, indem Sie jedes Element des ursprünglichen Arrays transformieren. In Go sind Arrays nicht so flexibel wie Slices und unterstützen keine Methoden.

Sie können jedoch eine generische Map-Funktion implementieren, die verwendet werden kann, um ein Array von Objekten in ein Array ihrer gewünschten Werte umzuwandeln.

Generische Karte Funktion

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
}
Nach dem Login kopieren

Verwendung

fruits := []struct{ fruit string }{
    {fruit: "apple"},
    {fruit: "banana"},
    {fruit: "cherry"},
}

fruitNames := Map(fruits, func(fruit struct{ fruit string }) string { return fruit.fruit })

fmt.Println(fruitNames) // Outputs: [apple banana cherry]
Nach dem Login kopieren

Überlegungen

Während die Verwendung einer einzeiligen Kartenfunktion praktisch sein kann, ist es wichtig, ihre Einschränkungen zu berücksichtigen:

  • Versteckte Kosten: Die Kartenfunktion weist ein neues Segment zu und führt es aus eine O(n)-Iteration, daher ist dies möglicherweise nicht immer die effizienteste Option.
  • Fehlerbehandlung: Die Map-Funktion behandelt keine Fehler, die beim Transformieren von Elementen auftreten können. Wenn Fehler möglich sind, ist möglicherweise eine benutzerdefinierte Schleife erforderlich.

Trotz dieser Überlegungen kann die Map-Funktion eine einfache und elegante Lösung für die Zuordnung von Objektarrays in Go bieten.

Das obige ist der detaillierte Inhalt vonWie kann ich Arrays von Objekten in Go zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage