此代码来自最流行的 Go 矩阵包https://github.com/skelterjohn/go.matrix/blob/go1/util.go我用谷歌搜索了这个函数,似乎它是用于计算分形维数的。但是在这个包中,这个函数从未使用过,所以我很难理解这一点。func countBoxes(start, cap int) chan box { ints := make(chan box) go func() { for i := start; i < cap; i++ { ints <- i } close(ints) }() return ints}当我们这里只有一个匿名函数时,为什么还需要 goroutine?有没有人知道这个函数在矩阵工作方面的作用?
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
它返回一个带有 cap - start 排队整数事件的通道。(即,您可以从频道“读取” start,start+1..,cap 然后关闭)。
如果您仔细查看代码,它会使用类似的构造为稀疏矩阵的非零条目的索引创建迭代器。在 sparse.go 中查看。
它没有在我能找到的代码中的任何地方使用,它可能只是为了测试这个想法。
- 1 回答
- 0 关注
- 154 浏览
添加回答
举报
0/150
提交
取消