Golang 每次过滤成一个新的 var
Golang for each filtering into a new var
我正在处理每个循环和信息变量,并通过 A) regex.matchString B) 时间比较对其进行过滤。过滤效果很好,我有我需要的数据,但目前我在循环的一部分通过 fmt.Println 将它输出到屏幕。我的目标是获取该数据并使用现在过滤的列表构建另一个 var。我想我需要创建一个新变量并添加到它?但是我如何 return 以及我以后可以使用的东西?
感谢任何帮助。
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)
}
}
}
}
}
我想你需要这样的东西。
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
}
我清理了代码,添加了类型和一些数据,修复了一些问题并重命名了一些东西,但你应该明白了:)
我正在处理每个循环和信息变量,并通过 A) regex.matchString B) 时间比较对其进行过滤。过滤效果很好,我有我需要的数据,但目前我在循环的一部分通过 fmt.Println 将它输出到屏幕。我的目标是获取该数据并使用现在过滤的列表构建另一个 var。我想我需要创建一个新变量并添加到它?但是我如何 return 以及我以后可以使用的东西?
感谢任何帮助。
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)
}
}
}
}
}
我想你需要这样的东西。
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
}
我清理了代码,添加了类型和一些数据,修复了一些问题并重命名了一些东西,但你应该明白了:)