在下面的示例代码中,我有一些用户在
如果我使用嵌套的
在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)
}
f := make(map[string]bool, len(su)) // 稍后,在循环内部: f[u.UserName] = true
- coquinstruct{}
使用0字节,而bool类型至少使用1个字节。 - OneOfOnemap[string]struct{}
,因为“filtering” JSON 的格式在我的控制下。我还需要做与你所写的相反的操作,因此我只需使用!ok
就可以了。再次感谢! - pardonmemiss