项目开发完毕,为了找点事打发一下时间,于是用findBugs插件对当前完工的项目进行扫描,发现了很多问题.其中有个关于性能的问题,在这里记录一下. 提示信息为:Inefficient use of keySet iterator instead of entrySet iterator 然后我定位到对应的代码中如图 参考的上面的提示信息,大致意思是:map用keySet()方法去迭代没有entrySet()方法效率高,可以避免map .get(key)查找. 于是更改为:…
通过 new 创建的引用类型对象是不完整创建,比如 map,它仅分配了字典类型本身所需的内存(指针包装),而没有分配键值存储内存,也没有初始化散列桶等内部属性,因此无法工作,如下代码就是错误的: p := new(map[string]int) m := *p m[ ages := make(map[string]int) // mapping from strings to ints 我们也可以用map字面值的语法创建map,同时还可以指定一些最初的key/value: ages := map…