根据Golang中的不同切片过滤一片结构

时间:2015-09-30 13:46:45

标签: go

在下面的示例代码中,我在manySimpleUsers中有一些用户要根据用户名从manyFullUsers中删除。

如果我使用嵌套的for... range循环进行此操作,则需要很多周期来过滤所有元素,尤其是当两个切片中都有大量元素时。

在Go中实现这一目标的最佳方法是什么?

package main

import "fmt"

func main() {
    fmt.Println("Hello, playground")

    type FullUser struct {
        UserName  string
        UserEmail string
    }

    manyFullUsers := []FullUser{{"foo", "foo@jawohl.com"},
        {"bar", "bar@jawohl.com"},
        {"baz", "baz@jawohl.com"}}

    type SimpleUser struct {
        UserName string
    }

    manySimpleUsers := []SimpleUser{{"foo"}, {"bar"}}

    fmt.Println(manyFullUsers)
    fmt.Println(manySimpleUsers)
}

1 个答案:

答案 0 :(得分:5)

创建一个地图,然后用它来过滤。

function FilterMovies() {
    return {
        Employees: $("#Employees").val()
    };
}

playground