在 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中文网其他相关文章!