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

Golang 为每个过滤成一个新的 var

Golang 为每个过滤成一个新的 var

Go
慕沐林林 2022-10-17 19:17:19
我正在处理每个循环和信息变量,并通过 A) regex.matchString B)Timecomparrison 对其进行过滤。过滤效果很好,我有我需要的数据,但目前我在部分循环中通过 fmt.Println 将其输出到屏幕。我的目标是获取这些数据并使用现在过滤的列表构建另一个 var。我想我需要创建一个新变量并添加到它?但是我如何返回它以及我以后可以使用的东西?任何帮助表示赞赏。   for _, thing := range things {        if thing.element1 != nil {            matched, err := regexp.MatchString(z, element1)            if err != nil {               fmt.Println(err)           }            if matched {                if timecomparrison(element2, a) {                                      // this is a section that needs to be added new var and returned as a var                   fmt.Println("****")                   fmt.Println("element1:", element1)                   fmt.Println("element2:", element2)                }           }       }   } }
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

我想你需要这样的东西。


type Thing struct {

    element1 string

    element2 string

}


func filter() []Thing {

    things := []Thing{

        {element1: "element1", element2: "element2"},

    }

    var result []Thing

    regex := "/{}d/"

    date := time.Now

    for _, thing := range things {

        if thing.element1 != nil {

            matched, err := regexp.MatchString(regex, thing.element1)

            if err != nil {

                fmt.Println(err)

            }

            if matched {

                if timeComparison(thing.element2, date) {

                    // this is a section that needs to be added new var and returned as a var

                    fmt.Println("****")

                    fmt.Println("element1:", thing.element1)

                    fmt.Println("element2:", thing.element2)

                    result = append(result, thing)

                }

            }

        }

    }

    return result

}

我清理了代码,添加了一个类型和一些数据,修复了一些问题并重命名了一些东西,但你应该明白了 :)


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

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