Go では、オブジェクトの配列を新しい配列にマッピングするには、柔軟性に見合った洗練されたアプローチが必要です他の言語でも同様の操作が簡単にできること。 Map 関数を使用して各要素を変換できる Node.js とは異なり、Go の配列は不変です。
ワンライナー ソリューションの模索:
この質問は、JavaScript のマップ関数の動作を模倣して、オブジェクトの配列を対応するフルーツの配列にマップするための洗練された 1 行の解決策を求めています。範囲ループはオプションですが、1 行のソリューションが推奨されます。
Map 関数の紹介:
Go には配列用の Map メソッドが組み込まれていません。 、汎用のトップレベル関数の作成が可能になります。 Map 関数はこの目的を果たし、要素のスライスと各要素を目的の結果に変換する関数を受け入れます。
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 }
Map 関数の適用:
Map 関数を使用すると、目的のワンライナーを次のように記述できます。
fruits := Map(list, func(el Element) string { return el.Fruit })
結論:
Map 関数は、オブジェクトの配列を変換された値の新しい配列にマップするための洗練された効率的な方法を提供します。 Go の配列は他の言語ほどの柔軟性を備えていないかもしれませんが、Map のような汎用のトップレベル関数を使用すると、データ変換タスクに対する表現力豊かで慣用的なソリューションが可能になります。
以上がGo でワンライナーを使用してオブジェクトの配列を新しい配列にエレガントにマップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。