栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

等效于Python的列表理解

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

等效于Python的列表理解

有趣的是,Rob
Pike
刚刚提出了(18小时前)库过滤器,该过滤器可以满足您的要求:

例如查看Choose()

// Choose takes a slice of type []T and a function of type func(T) bool. (If// the input conditions are not satisfied, Choose panics.) It returns a newly// allocated slice containing only those elements of the input slice that// satisfy the function.

在这里测试:

func TestChoose(t *testing.T) {    a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}    expect := []int{2, 4, 6, 8}    result := Choose(a, isEven)

正如评论中[

twotwotwo
]指出的那样,该库的GoDoc指出:

软件包

filter
包含实用程序功能,用于通过过滤器功能的分布式应用程序来过滤切片。

该软件包是一个实验,旨在了解在Go中编写此类代码有多么容易。这很容易,但是

for
循环同样容易且效率更高

您不应该使用此软件包。

该警告反映在文档“
Go泛型讨论摘要 ”的“
功能代码 ”部分中:

这些是通常的高阶函数如

map
reduce
fold
),
filter
zip
等等

案例
类型安全的数据转换:

map
fold
zip

使用泛型的优点
表达数据转换的简洁方法。

使用泛型的缺点
最快的解决方案需要考虑何时以及按什么顺序应用这些转换,以及每个步骤生成多少数据。
对于初学者来说很难阅读。

替代解决方案

使用

for
循环和常用语言构造



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号