在 Go 中,将对象数组映射到新数组需要一种与灵活性相匹配的优雅方法以及其他语言中类似操作的简单性。 Go 中的数组是不可变的,与 Node.js 不同,Node.js 中可以使用映射函数来转换每个元素。
寻求单行解决方案:
问题寻求一种优雅的单行解决方案,将对象数组映射到相应水果的数组中,模仿 JavaScript 的映射函数的行为。虽然可以选择范围循环,但首选单行解决方案。
Map 函数简介:
Go 没有内置的数组 Map 方法,它允许创建通用的顶级函数。 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 }
应用 Map 函数:
使用 Map 函数,所需的单行代码可以写为如下:
fruits := Map(list, func(el Element) string { return el.Fruit })
结论:
Map 函数提供了一种优雅而有效的方法将对象数组映射到新的转换值数组。虽然 Go 的数组可能无法提供与其他语言相同的灵活性,但像 Map 这样的通用顶级函数可以为数据转换任务提供富有表现力和惯用的解决方案。
以上是如何使用 One-Liner 优雅地将对象数组映射到 Go 中的新数组?的详细内容。更多信息请关注PHP中文网其他相关文章!