在Go 中映射物件陣列
注意Node.js 中使用Array.map() 方法進行陣列映射的流行,開發人員在Go 中尋求等效的解決方案。雖然 Go 缺乏數組的直接映射函數,但有一些替代方法可以實現類似的功能。
單線解
提供的答案引入了一個頂層函數稱為Map()。此函數接受兩個泛型類型參數 T 和 U 以及 T 類型的切片作為參數。它使用範圍循環將使用者提供的函數應用於切片中的每個元素,並傳回帶有轉換值的 U 類型的新切片。
要使用 Map() 函數,您可以定義一個函數轉換物件的所需欄位並將其作為第二個參數傳遞給 Map()。例如,給定一個帶有水果田的物件數組列表,您可以使用以下方法建立一個水果串數組:
fruits := Map(list, func(el T) U { return el.fruit })
替代方法
答案也提到雖然數組由於其不靈活的性質而不適合此目的,但可以使用切片(動態大小的數組)來代替。您可以使用範圍循環來迭代切片,以手動轉換每個元素。
結論
Map() 函數提供了一種通用方法來映射物件數組Go,允許簡潔的一行解決方案。但是,在使用這種方法時,應考慮效能因素以及潛在的隱藏成本或錯誤。
以上是如何在 Go 中有效率地映射物件數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!