在下面的示例代码中,我在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)
}
答案 0 :(得分:5)