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

我正在处理每个循环和信息变量,并通过 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)

 

               }

           }

       }

   }

 

}


慕沐林林
浏览 93回答 1
1回答

慕的地10843

我想你需要这样的东西。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}我清理了代码,添加了一个类型和一些数据,修复了一些问题并重命名了一些东西,但你应该明白了 :)
打开App,查看更多内容
随时随地看视频慕课网APP