map
是无序的,每次获取的值都是不固定的顺序,且不能通过 index
获取,只能通过遍历 key
获取
map
是一种引用类型,复制出的值的改变会影响本来的数据
map
的值可以直接通过 map["key"] = new value
修改
map
不是线程安全的,在多个 go-routine
存取时,必须使用 mutex lock
机制
- 可以通过
delete
关键字删除 map
数据 delete(map,key)
- 初始化
map
必须分配内存空间,用 make
或者直接赋值分配
package main
func main() {
contracts := make(map[string]string)
contract, ok := contracts[key]
if !ok {
// todo
}
type Limit struct {
LimitationForOnce int64
Whitelist [2]string
}
var LimitsFromSymbol = map[string]Limit{
"symbol": {
300,
[2]string{
"wl1",
"wl2",
},
},
}
}