相关疑难解决方法(0)

在Go中创建迭代器的最惯用方法是什么?

一种选择是使用渠道.通道在某种程度上类似于迭代器,您可以使用range关键字迭代它们.但是当你发现你不能在没有泄漏goroutine的情况下突破这个循环时,使用会变得有限.

在go中创建迭代器模式的惯用方法是什么?

编辑:

渠道的根本问题在于它们是推模型.迭代器是拉模型.你不必告诉iterator停止.我正在寻找一种以一种很好的表达方式迭代集合的方法.我还想链接迭代器(map,filter,fold alternative).

iterator go

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

golang频道用于什么?

在查看一些golang代码时,我发现了以下内容:

  ch := make(chan int)
Run Code Online (Sandbox Code Playgroud)

我在golang Chanels的在线教程中查了解:

https://tour.golang.org/concurrency/2

但我觉得这个例子不清楚.

有人可以给我一个简单的解释和使用频道的例子吗?

channel go

21
推荐指数
2
解决办法
9427
查看次数

如何学习Go Programming Lanauge的内部结构?对于noob

最近我参加了几次围棋面试.第一个问我How is channel implemented?,然后第二个问我How is goroutine implemented?.你可以猜到,下一个问道How is a Go interface implemented?.

我一直在使用Go六个月,但说实话,我从来没有关心或知道这些Go internals.

我试着通过阅读Go的源代码来学习这些,但却无法真正理解这些精髓.

所以问题是,对于Go中的菜鸟,我如何学习Go internals?

go

4
推荐指数
3
解决办法
1365
查看次数

标签 统计

go ×3

channel ×1

iterator ×1