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

Go でオブジェクトの配列をマッピングするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-03 08:06:39756ブラウズ

How Can I Map Arrays of Objects in Go?

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

Node.js では、map() 関数を使用して、元の配列の各要素を変換して新しい配列を作成できます。 Go では、配列はスライスほど柔軟ではなく、メソッドをサポートしません。

ただし、オブジェクトの配列を目的の値の配列に変換するために使用できる汎用 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
}

使用法

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]

考慮事項

ワンライナー Map 関数の使用は便利ですが、その制限事項を考慮することが重要です。

  • 隠れたコスト: Map 関数は新しいコストを割り当てます。スライスして O(n) 反復を実行するため、常に最も効率的なオプションであるとは限りません。
  • エラー処理: Map 関数は、要素の変換中に発生する可能性のあるエラーを処理しません。 。エラーが発生する可能性がある場合は、カスタム ループが必要になる場合があります。

これらの考慮事項にもかかわらず、Map 関数は、Go でオブジェクトの配列をマッピングするための軽量で洗練されたソリューションを提供できます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。