2 Star 1 Fork 1

mosache/YFrame

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
functional.go 870 Bytes
一键复制 编辑 原始数据 按行查看 历史
ヤ沒脩袮兲︶ 提交于 2023-11-21 12:05 . temp
package slicex
type Slice[T any, ReturnType any] []T
func (s Slice[T, ReturnType]) Map(mapFunc func(T) ReturnType) []ReturnType {
r := make([]ReturnType, 0)
for _, e := range s {
value := mapFunc(e)
r = append(r, value)
}
return r
}
func Map[SourceType, ReturnType any](source []SourceType, mapFunc func(SourceType) ReturnType) []ReturnType {
r := make([]ReturnType, 0)
for _, e := range source {
value := mapFunc(e)
r = append(r, value)
}
return r
}
func Filter[SourceType any](source []SourceType, filter func(s SourceType) bool) []SourceType {
r := make([]SourceType, 0)
for _, e := range source {
if filter(e) {
r = append(r, e)
}
}
return r
}
func Reduce[T comparable, Source any](initVal T, reducer func(val T, v Source) T, source []Source) T {
for _, e := range source {
initVal = reducer(initVal, e)
}
return initVal
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mosache/YFrame.git
git@gitee.com:mosache/YFrame.git
mosache
YFrame
YFrame
v0.1.59

搜索帮助