go语言陷阱之九:map的容量

当一个map变量被创建后,你可以指定map的容量,但是不可以在map上使用cap()方法

代码示例:
package main

func main() {
    m := make(map[string]int, 99)
    cap(m) //error
}
# command-line-arguments
./hello.go:5: invalid argument m (type map[string]int) for cap

先来看一下go的内置函数cap与map:
cap: 返回的是数组切片分配的空间大小, 根本不能用于map
make: 用于slice,map,和channel的初始化

要获取map的容量,可以用len函数。

    原文作者:wu_sphinx
    原文地址: https://www.jianshu.com/p/f679fef5198b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞