将地图用作集合

某些语言具有集合的本机结构。要在 Go 中创建一个集合,最好使用从集合的值类型到空结构(map[Type]struct{})的映射。

例如,使用字符串:

// To initialize a set of strings:
greetings := map[string]struct{}{
    "hi":    {},
    "hello": {},
}

// To delete a value:
delete(greetings, "hi")

// To add a value:
greetings["hey"] = struct{}{}

// To check if a value is in the set:
if _, ok := greetings["hey"]; ok {
    fmt.Println("hey is in greetings")
}