64 条回复  ·  928 次点击
Trim21 小成 2024-8-19 12:59:44
golang 为了不加这个 yield 关键词真是煞费苦心…

这个新功能还有个离谱的地方是标准库里 iter.Pull 的实现方法,直接魔改运行时…
dule 小成 2024-8-19 13:23:04
以前看过 go 语言的代码就觉得这玩意语法是真丑陋啊,太不直观了
Morii 小成 2024-8-19 13:24:29
有点炫技啊, 理解起来有一定的心智负担
zhwq 小成 2024-8-19 13:29:11
看来又要换坑了,就像早年 PHP 支持 namaspace ,之后就是一日不一日。
语言有没有变的更高级我不知道,我只知道,用的越来越少了
cheng6563 小成 2024-8-19 13:35:38
幸好泛型没用()
me1onsoda 小成 2024-8-19 13:39:01
go 的源码不是本来就很难看吗。。。
LieEar 限制会员 2024-8-19 13:49:40
func Backward[E any](s []E) func(func(int, E) bool) {
    return func(yield func(int, E) bool) {

眼前一黑
bv 小成 2024-8-19 14:04:39
@LieEar 能理解 Java/JavaScript 中的 stream.filter(v -> v !=10 ) 应该对这种形式好理解了。(只是这种高阶函数的形式互通,不是说 go iter 和他们的 stream 功能类似)
CHTuring 小成 2024-8-19 14:05:23
其实看起来还行吧,就是返回个 yield 的迭代器,不过一般也用不上。
Rehtt 小成 2024-8-19 14:07:51
emmm 感觉也不是很难理解啊
返回顶部