我正在为.clear() 原始类型寻找相似 c 函数的东西map。 ) w! \9 j6 g$ H! w* k8 B1 e$ F或者我应该只创建一个新地图? ( y. s6 V$ g8 N: K$ i- J8 n& `更新:谢谢你的回答。通过查看答案,我刚刚意识到创建新地图有时会导致我们不想要的不一致。考虑以下示例:" U& D8 B& Q2 M; a8 e4 M( C
var a map[string]stringvar b map[string]stringfunc main() { a = make(map[string]string) b=a a["hello"]="world" a = nil fmt.Println(b["hello"])}1 }& v# ]; u e3 v9 X0 ~
我的意思是,这.clear()和c 中的函数仍然不同,它将清除对象中的内容。 ' P+ o& P& X5 v5 c + v) }' I' M$ b. \* j$ V8 w 解决方案: 5 S u$ C( G9 i7 S c1 X5 B
你可能应该创建一个新的地图。除非多个代码引用相同的地图,并且其中一个清楚地需要清除值,否则没有真正的理由试图清除现有的地图。3 P" L* R7 \- l8 W7 Q9 y# l
所以是的,你应该说 ]0 o( t5 ?" |: e