golang中的map不是指針。
指針:
一個(gè)指針變量指向了一個(gè)值的內(nèi)存地址。
類似于變量和常量,在使用指針前你需要聲明指針。指針聲明格式如下:
var var_name *var-type
var-type 為指針類型,var_name 為指針變量名,* 號(hào)用于指定變量是作為一個(gè)指針。以下是有效的指針聲明:
map:
Map 是一種無序的鍵值對(duì)的集合。Map 最重要的一點(diǎn)是通過 key 來快速檢索數(shù)據(jù),key 類似于索引,指向數(shù)據(jù)的值。
Map 是一種集合,所以我們可以像迭代數(shù)組和切片那樣迭代它。不過,Map 是無序的,我們無法決定它的返回順序,這是因?yàn)?Map 是使用 hash 表來實(shí)現(xiàn)的。
定義 Map
可以使用內(nèi)建函數(shù) make 也可以使用 map 關(guān)鍵字來定義 Map:
/* 聲明變量,默認(rèn) map 是 nil */ var map_variable map[key_data_type]value_data_type /* 使用 make 函數(shù) */ map_variable := make(map[key_data_type]value_data_type)
如果不初始化 map,那么就會(huì)創(chuàng)建一個(gè) nil map。nil map 不能用來存放鍵值對(duì)