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函数。

你可能感兴趣的:(go语言陷阱之九:map的容量)