如何在 Go 中递归闭包?假设我有一个像recur := func(){ recur()}编译器说:未定义:重复我该如何实施?为什么会发生?
1 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
这是因为评估顺序的工作方式。
截至 2015 年 12 月 (go.1.5.1),没有任何语言功能提供它。
可能的解决方法:
var recur func()
recur = func(){
recur()
}
//or
type recurF func(recurF)
recur := func(recur recurF) {
recur(recur)
}
更多信息:https : //github.com/golang/go/issues/226
- 1 回答
- 0 关注
- 153 浏览
添加回答
举报
0/150
提交
取消