ホームページ > バックエンド開発 > Golang > Go でオブジェクトの配列を効率的にマップするにはどうすればよいですか?

Go でオブジェクトの配列を効率的にマップするにはどうすればよいですか?

DDD
リリース: 2024-12-24 20:30:15
オリジナル
301 人が閲覧しました

How Can I Efficiently Map Arrays of Objects in Go?

Go でのオブジェクトの配列のマッピング

Array.map() メソッドを使用した Node.js での配列マッピングの普及に注目してください。開発者は Go で同等のソリューションを探しています。 Go には配列の直接マッピング機能がありませんが、同様の機能を実現できる代替アプローチがあります。

ワンライナー ソリューション

提供された回答では、トップレベルのソリューションが導入されています。 Map() という関数。この関数は、2 つのジェネリック型パラメーター T と U、および型 T のスライスを引数として受け入れます。範囲ループを使用して、ユーザーが提供した関数をスライス内の各要素に適用し、変換された値を含む U 型の新しいスライスを返します。

Map() 関数を使用するには、関数を定義できます。これは、オブジェクトの目的のフィールドを変換し、それを 2 番目の引数として Map() に渡します。たとえば、果物のフィールドを持つオブジェクトの配列リストが与えられた場合、次の方法を使用して果物文字列の配列を作成できます。

fruits := Map(list, func(el T) U { return el.fruit })
ログイン後にコピー

代替アプローチ

答えも配列は柔軟性に欠けるため、この目的には適していませんが、代わりに動的にサイズ変更される配列であるスライスを使用できると述べています。範囲ループを使用してスライスを反復処理し、各要素を手動で変換できます。

結論

Map() 関数は、オブジェクトの配列をマッピングする一般的なアプローチを提供します。 Go を使用すると、簡潔な 1 行のソリューションが可能になります。ただし、このアプローチを使用する場合は、パフォーマンスに関する考慮事項と、隠れたコストやエラーの可能性を考慮する必要があります。

以上がGo でオブジェクトの配列を効率的にマップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート