Go微服务实战
上QQ阅读APP看书,第一时间看更新

3.3 map

3.3.1 定义

map(映射)是Go语言提供的key-value(键值对)形式的无序集合,即其他语言中的Hash表。键值对的键有唯一性要求,可以通过键来获取值或者更新值。

说明

map的底层是一个Hash表,但是map通过封装把Hash表的一些具体实现进行了隐藏,用户可以便捷地使用map。

map类型的形式如下:


map[k]v

其中,k是键,在同一个map中所有的k必须是同一类型,而且只有可以比较,或者说只有可以使用“==”符号比较的类型才可以作为k。显然用bool类型作k并不灵活,而使用浮点型作为k,可能会因为不同机器和系统对于精度定义的不同而导致异常。

在同一个map中,v也只能是同一类型。在定义v的时候,可以选择任何类型,没有限制。