首页 > 后端开发 > Golang > 如何使用 One-Liner 优雅地将对象数组映射到 Go 中的新数组?

如何使用 One-Liner 优雅地将对象数组映射到 Go 中的新数组?

DDD
发布: 2024-12-26 18:34:10
原创
616 人浏览过

How Can I Elegantly Map an Array of Objects to a New Array in Go Using a One-Liner?

在 Go 中映射对象数组:探索 Eloquent 解决方案

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板