登录
首页 >  Golang >  Go问答

范围函数

来源:stackoverflow

时间:2024-02-12 11:12:14 255浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《范围函数》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

我有 20 多个返回结构体或 nil 的函数。我需要遍历所有这些,如果它们返回一个结构,我会将其附加到一个结构切片中。所以我想知道是否有一种方法可以迭代所有函数并在结果不为零时附加结果,因为检查每个函数的结果似乎是浪费时间。谁能建议一种方法来做到这一点?也许是一个例子或其他什么。


解决方案


所以,我知道您在评论中得到了答案,但我想我还是举个例子:

funcs := []func()*struct{Thing int}{
    func()*struct{Thing int}{return nil},
    func()*struct{Thing int}{
        newStruct := struct{Thing int}{Thing: 1}
        return &newStruct
    },
}

sliceOfStructs := []struct{Thing int}{}
for _,f := range funcs {
    res := f()
    if res != nil {
        sliceOfStructs = append(sliceOfStructs, *res)
    }
}

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>