golang 利用函数内匿名函数实现自己的递归

在做树的递归遍历按层遍历的代码的时候遇到一个问题就是这样

    var ff = func (int) {
        ff()
    }

上面的代码编译不过去。
查找资料是这么讲的:
We've written >100k lines of Go code and it has come up maybe once. That kind of frequency doesn't suggest that a language change is warranted.
意思就是说,在实际编码中遇到需要这种特性的几率很小很小,所以没有必要直接在语言层面去支持,如果偶然遇到就使用替代方案吧

当然也是有替代方案的

    type funcType func(int)
    var f funcType
    f = func(i int) {
        f(i)
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容