相关疑难解决方法(0)

为什么Go中没有泛型?

免责声明:我现在只玩了一天Go,所以很有可能我错过了很多.

有没有人知道为什么在Go中没有真正支持generics/templates/whatsInAName?所以有一个泛型map,但是由编译器提供,而Go程序员不能编写自己的实现.尽管所有关于使Go尽可能正交的讨论,为什么我可以使用泛型类型但不创建新类型?

特别是在涉及函数式编程时,有lambda,甚至是闭包,但是对于缺少泛型的静态类型系统,我如何编写,以及通用的高阶函数,如filter(predicate, list)?好的,链接列表等可以interface{}牺牲类型安全性来完成.

由于对SO/Google的快速搜索没有透露任何见解,所以看起来像仿制药,如果有的话,将作为事后补充添加到Go.我确实相信Thompson比Java家伙更好,但为什么要保持泛型?或者他们是否有计划而尚未实施?

generics functional-programming go

117
推荐指数
3
解决办法
3万
查看次数

有没有办法在 Go 中映射对象数组?

来自 Node.js,我可以做类似的事情:

// given an array `list` of objects with a field `fruit`:

fruits = list.map(el => el.fruit) # which will return an array of fruit strings 
Run Code Online (Sandbox Code Playgroud)

有什么办法可以用 Go 中的优雅单行来做到这一点吗?

我知道我可以用范围循环来做到这一点,但我正在寻找单行解决方案的可能性。

generics go higher-order-functions

14
推荐指数
1
解决办法
2万
查看次数