为了账号安全,请及时绑定邮箱和手机立即绑定

go语言的map查找键值对会出错?

go语言的map查找键值对会出错?

倚天杖 2019-05-24 11:56:15
我在学习go语言,然后想实现一个map的键值对转换,我的思路是:循环这个map,先增加键为值的键值对,然后把原来值为键的键值对删除.于是,我写出了如下代码:packagemainimport"fmt"funcmain(){maparr:=map[string]string{}maparr["key1"]="100"maparr["key2"]="200"maparr["key3"]="300"maparr["key4"]="400"maparr["key5"]="500"fork,v:=range(maparr){maparr[v]=kdelete(maparr,k)}fmt.Println(maparr)}然后我运行如上代码,运行了几次,得到了让我非常不理解的结果,我得到的结果如下://第一次$gorunhello.gomap[400:key4500:key5key2:200100:key1300:key3]//第二次$gorunhello.gomap[200:key2300:key3500:key5key4:400100:key1]//第三次$gorunhello.gomap[100:key1200:key2300:key3400:key4500:key5]竟然只有第三次的结果是正确的.请问各位前辈,我错在了哪里?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 492 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信