Python的模拟';golang的默认设置
python-setdefault方法中有一个方便的字典快捷方式。例如,如果我有表示从字符串到列表的映射的dict,我可以这样写Python的模拟';golang的默认设置,go,Go,python-setdefault方法中有一个方便的字典快捷方式。例如,如果我有表示从字符串到列表的映射的dict,我可以这样写 if key not in map: map[key] = [] map[key].append(value) 这太冗长了,更像是一种python式的方式: map.setdefault(key, []).append(value) 顺便说一下,有一个defaultdict类 所以我的问题是,围棋中的地图有类似的东西吗?我真的很讨厌使用map[string
if key not in map:
map[key] = []
map[key].append(value)
这太冗长了,更像是一种python式的方式:
map.setdefault(key, []).append(value)
顺便说一下,有一个defaultdict类
所以我的问题是,围棋中的地图有类似的东西吗?我真的很讨厌使用map[string][]int和类似的类型。没有专门针对map的类型,但是
nil
是一个有效的空片段(可以与append
内置代码一起使用),因此下面的代码:
x := make(map[string][]int)
key := "foo"
x[key] = append(x[key], 1)
无论映射中是否存在
键
,都将正常工作。它可以与默认映射一起正常工作:
但是应该注意,它不适用于映射的映射,您仍然应该显式地
make
map值。
m := make(map[string][]int)
m["test0"] = append(m["test0"], 10)
m["test1"] = append(m["test1"], 10)
m["test2"] = append(m["test2"], 10)