为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中递归闭包?

如何在 Go 中递归闭包?

Go
慕莱坞森 2021-11-29 15:42:41
如何在 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


查看完整回答
反对 回复 2021-11-29
  • 1 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信