map
宣告和初始化
方式一
rec :=
map[
string
]int
方式二rec1 :=
make
(map
[string
]int
)rec1[
"width"]=
1rec1[
"height"]=
3
以上兩種宣告和初始化方式效果是一樣的,根據實際情況選用。試試訪問不存在的key看會怎樣?
fmt.
println
(rec[
"point"
])
結果會輸出:0,不會報錯!它返回了int的預設值:0。
key是否存在
那怎麼判斷乙個key到底是否存在呢?可如下實現:
if val, ok := rec[
"point"
]; ok
else
遍歷for k, v :=
range rec
刪除keydelete
(rec,
"width"
)if val, ok := rec[
"width"
]; ok
else
指標
go作者之一是thompson,他發明了後來衍生出c語言的b程式語言,作為鼻祖,設計的新語言指標必須有。go裡的指標和c的指標語法使用上基本一樣,區別是go裡不能對指標進行算術運算。
func
pointers()
func
pointerparam
(p *
int)
func
newint()
*int
x :=
newint
()
指標和Map 指標和Map
指標和map 怎麼樣,看下來有點眼花繚亂吧,究竟這個pmap裡面存放的是什麼呢?為了搞清楚這個問題,我們還是要從指標入手。搞清楚什麼是指標,指標裡存放的是什麼內容指標是指向一塊記憶體中的儲存區域,指標中存放的是段記憶體的開始位址,是乙個整形資料,占用4個位元組,搞清楚這點後,對pmap或許應該有乙個...
go語言的array slice 和 map
陣列作為語言中必不可少的乙個存在,自然要關注,而slice 切片 是go語言對陣列的抽象。在go中,我們這樣宣告乙個陣列 var arr 10 int 賦值 arr 0 1 陣列大小是型別的一部分。由於不同的大小是不同的型別,因此不能改變大小 陣列同樣是值型別的 將乙個陣列賦值給另乙個陣列,會複製所...
Go 語言Map 集合
map 是一種無序的鍵值對的集合。map 最重要的一點是通過 key 來快速檢索資料,key 類似於索引,指向資料的值。map 是一種集合,所以我們可以像迭代陣列和切片那樣迭代它。不過,map 是無序的,我們無法決定它的返回順序,這是因為 map 是使用 hash 表來實現的。可以使用內建函式 ma...