Go語言學習筆記 map

2021-08-06 03:19:52 字數 1550 閱讀 9088

學習筆記根據 無聞

go語言基礎教程 整理

package main

import (

"fmt"

"sort"

)func main()

// 普通建立方式

func test1()

fmt.println(m) // map

}// 使用make關鍵字建立

func test2()

// 直接宣告和賦值建立

func test3()

// 使用更簡單的方式

func test4()

func test5()

// 複雜型別map

func test6()

// 使用多返回值來判斷map是否被初始化

func test7()

m[2][1] = "ok"

a, ok = m[2][1]

fmt.println(a, ok) // ok true // 此處被正確初始化了

}// 迭代操作

func test8()

for i,v:=range s1

fmt.println("----")

m1 := make(map[int]string)

m1[1] = "hello"

m1[2] = "world"

for k,v:=range m1

/*// 輸出結果為:

0 11 2

2 3----

1 hello

2 world

*/}// 以map為值的slice型別

func test9()

fmt.println("----")

fmt.println(sm)

/*map[0:ok]

map[1:ok]

----

[map map]

*/// 通過上面的執行結果可知, v是map中乙個索引的拷貝,改變v,並不改變map,slice同樣是這樣。

}func test10()

fmt.println("----")

fmt.println(sm)

/*map[0:ok]

map[1:ok]

----

[map[0:ok] map[1:ok]]

*/}// 對map進行間接排序,map是無序的,通過key來排序

func test11() // 建立乙個map

s := make(int,len(m)) // 建立乙個slice

i :=0

for k,_ := range m

sort.ints(s) // 對s進行排序

fmt.println(s)

fmt.println("----")

// 根據拍好序的k,取出對應map中的值,從而達到對map的排序

for _, v := range s

/*[1 2 3 4 5]

----ab

cde*/

}

go語言學習筆記 map

理解 map是由一組無序的鍵key值value對集合的內建型別,可以通過鍵來獲取對應的值,map和slices一樣,也是引用型別 注意 map之間不能使用 操作符來判斷 建立map 語法 map type of key type of value var mymap map string int n...

go語言學習筆記 map

go語言內建有map這種資料結構,它由無序的鍵值對組成,跟大部分語言中的map用法非常相似。它的鍵不能由可變型別 引用語義 的結構型別擔當,如切片 陣列 函式等等。map只有len,沒有cap。我們可以直接定義,或者通過make函式建立,通過make函式建立時,可以指定容量。package main...

Go語言學習筆記 map

map是雜湊表的引用,map的型別為map k v,k和v是字典的鍵和值對應的資料型別,map中所有的鍵都擁有相同的資料型別,同時所有的值都擁有相同的資料型別,但鍵的型別和值的型別不一定相同 鍵的型別k必須是可以通過操作符 來進行比較的資料型別,所以map可以檢測某乙個鍵是否已經存在 ages ma...