Go リスト内のすべての要素に関数を効率的に適用するにはどうすればよいですか?
Nov 13, 2024 am 04:39 AMGo のリストへの効率的な関数適用
Go リスト内のすべての要素に関数を適用し、結果を新しいリストに保存するには従来のアプローチでは、入力リストをループし、結果を出力リストに追加します。ただし、Go 1.18 以降では、より簡潔で一般的な解決策、Map 関数があります。
Map 関数は、型 T の要素のリストと、各要素を型の値に変換する関数を受け取ります。 V. 入力リスト内の各要素に関数を適用した結果を含む、[]V 型の新しいリストを返します。
例を次に示します。
func Map[T, V any](ts []T, fn func(T) V) []V { result := make([]V, len(ts)) for i, t := range ts { result[i] = fn(t) } return result } // Usage example input := []int{4, 5, 3} outputInts := Map(input, func(item int) int { return item + 1 }) outputStrings := Map(input, func(item int) string { return fmt.Sprintf("Item:%d", item) })
この例では、入力は整数のリストです。 Map 関数を 2 つの異なる関数とともに適用して、インクリメントされた整数のリスト (outputInts) と書式設定された文字列のリスト (outputStrings) を作成できます。これにより、明示的なループの必要性がなくなり、従来のアプローチに代わる簡潔で効率的な方法が提供されます。
以上がGo リスト内のすべての要素に関数を効率的に適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

Linterと静的分析ツールを使用して、GOコードの品質と保守性を向上させるにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?
