go 递归

指针的指针就是实际的值
形参指针传递使用值的地址传递

代码实现

func main() {
    var man []*Man //声明指针切片
    RecursionMan(&man) //地址传递
    for key, item := range man { //打印数据
        fmt.Printf("%d号男人,年龄:%d, 身高:%d\n", key+1, item.Age, item.Height)
    }
}
//定义结构体
type Man struct {
    Age int
    Height int
}
//定义递归次数
var count = 0
//实现递归
func RecursionMan(man *[]*Man) {
    count ++
    *man = append(*man, &Man{ //指针的指针就是实际的值
        Age: 20 + count,
        Height:170 + count,
    })
    if count < 10 {
        RecursionMan(man)
        return
    }
    return
}

结果打印

图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容