登陆

需求把握的Go根底之map:文末附面试题一道

admin 2019-09-27 308人围观 ,发现0个评论

Go言语中供给的映射联系容器为map,其内部运用散列表(hash)完成。

map

map是一种无序的根据key-value的数据结构,Go言语中的map是引证类型,有必要初始化才干运用。

map界说

Go言语中 map的界说语法如下:

其间,

  • KeyType:表明键的类型。
  • ValueType:表明键对应的值的类型。

map需求把握的Go根底之map:文末附面试题一道类型的变量默许初始值为nil,需求运用make()函数来分配内存。语法为:

其间cap表明map的容量,该参数尽管不是有必要的,可是咱们应该在初始化map的时分就为其指定一需求把握的Go根底之map:文末附面试题一道个适宜的容量。

map根本运用

map中的数据都是成对呈现的,map的根本运用示例代码如下:

输出:

map也支撑在声明的时分填充元素,例如:

判别某个键是否存在

Go言语中有个判别map中键是否存在的特别写法,格局如下:

举个比方:

map的遍历

Go言语中运用for range遍历map。

但咱们只想遍历key的时分,能够按下面的写法:

留意: 遍历map时的元素次序与增加键值对的次序无关。

运用delete()函数删去键值对

运用delete()内建函数从map中删去一组键值对,delete()函数的格局如下:

其间,

  • map:表明要删去键值对的map
  • key:表明要删去的键值对的键

示例代码如下:

依照指定次序遍历map

元素为map类型的切片

下面的代码演示了切片中的元素为map类型时的操作:

值为切片类型的map

下面的代码演示了map中值加勒比海盗4为切片类型的操作:

面试题:

  1. 写一个程序,计算一个字符串中每个单词呈现的次数。比方:”how do you do”中how=1 do=2 you=1。

原文链接:https://www.liwenzhou.com/posts/Go/08_map/

本文作者:李文周,原创需求把握的Go根底之map:文末附面试题一道授权发布

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP