map初始化_需要掌握的Go基础之map:文末附面试题一道
Go語(yǔ)言中提供的映射關(guān)系容器為map,其內(nèi)部使用散列表(hash)實(shí)現(xiàn)。
map
map是一種無序的基于key-value的數(shù)據(jù)結(jié)構(gòu),Go語(yǔ)言中的map是引用類型,必須初始化才能使用。
map定義
Go語(yǔ)言中 map的定義語(yǔ)法如下:
其中,
- KeyType:表示鍵的類型。
- ValueType:表示鍵對(duì)應(yīng)的值的類型。
map類型的變量默認(rèn)初始值為nil,需要使用make()函數(shù)來分配內(nèi)存。語(yǔ)法為:
其中cap表示map的容量,該參數(shù)雖然不是必須的,但是我們應(yīng)該在初始化map的時(shí)候就為其指定一個(gè)合適的容量。
map基本使用
map中的數(shù)據(jù)都是成對(duì)出現(xiàn)的,map的基本使用示例代碼如下:
輸出:
map也支持在聲明的時(shí)候填充元素,例如:
判斷某個(gè)鍵是否存在
Go語(yǔ)言中有個(gè)判斷map中鍵是否存在的特殊寫法,格式如下:
舉個(gè)例子:
map的遍歷
Go語(yǔ)言中使用for range遍歷map。
但我們只想遍歷key的時(shí)候,可以按下面的寫法:
注意: 遍歷map時(shí)的元素順序與添加鍵值對(duì)的順序無關(guān)。
使用delete()函數(shù)刪除鍵值對(duì)
使用delete()內(nèi)建函數(shù)從map中刪除一組鍵值對(duì),delete()函數(shù)的格式如下:
其中,
- map:表示要?jiǎng)h除鍵值對(duì)的map
- key:表示要?jiǎng)h除的鍵值對(duì)的鍵
示例代碼如下:
按照指定順序遍歷map
元素為map類型的切片
下面的代碼演示了切片中的元素為map類型時(shí)的操作:
值為切片類型的map
下面的代碼演示了map中值為切片類型的操作:
面試題:
原文鏈接:https://www.liwenzhou.com/posts/Go/08_map/
本文作者:李文周,原創(chuàng)授權(quán)發(fā)布
總結(jié)
以上是生活随笔為你收集整理的map初始化_需要掌握的Go基础之map:文末附面试题一道的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动化测试pythontest_自动化测
- 下一篇: opcclient远程连接opc服务器_