011 Go語言基礎之map

2022-04-29 19:42:08 字數 4289 閱讀 7884

目錄

更新、更全的《go從入門到放棄》的更新**,更有python、go、人工智慧教學等著你:

go語言中提供的對映關係容器為map,其內部使用雜湊表(hash)實現。

map是一種無序的基於key-value的資料結構,go語言中的map是引用型別,必須初始化才能使用。

go語言中map的定義語法如下:

map[keytype]valuetype
其中,

map型別的變數預設初始值為nil,需要使用make()函式來分配記憶體。語法為:

make(map[keytype]valuetype, [cap])
其中cap表示map的容量,該引數雖然不是必須的,但是我們應該在初始化map的時候就為其指定乙個合適的容量。

map中的資料都是成對出現的,map的基本使用示例**如下:

func

main

()

輸出:

map[小明:100 張三:90]

100type of a:map[string]int

map也支援在宣告的時候填充元素,例如:

func

main()

fmt.println(userinfo) //

}

go語言中有個判斷map中鍵是否存在的特殊寫法,格式如下:

value, ok := map[key]
舉個例子:

func

main

() else

}

go語言中使用for range遍歷map。

func

main()

}

但我們只想遍歷key的時候,可以按下面的寫法:

func

main()

}

注意:遍歷map時的元素順序與新增鍵值對的順序無關。

使用delete()內建函式從map中刪除一組鍵值對,delete()函式的格式如下:

delete(map, key)
其中,

示例**如下:

func

main

()}

func

main()

//取出map中的所有key存入切片keys

var keys = make(string, 0, 200)

for key := range scoremap

//對切片進行排序

sort.strings(keys)

//按照排序後的key遍歷map

for _, key := range keys

}

下面的**演示了切片中的元素為map型別時的操作:

func

main()

fmt.println("after init")

// 對切片中的map元素進行初始化

mapslice[0] = make(map[string]string, 10)

mapslice[0]["name"] = "小王子"

mapslice[0]["password"] = "123456"

mapslice[0]["address"] = "沙河"

for index, value := range mapslice

}

下面的**演示了map中值為切片型別的操作:

func

main()

slicemap[key] = value

fmt.println(slicemap)

}

寫乙個程式,統計乙個字串中每個單詞出現的次數。比如:」how do you do」中how=1 do=2 you=1。

目錄更新、更全的《go從入門到放棄》的更新**,更有python、go、人工智慧教學等著你:

go語言中提供的對映關係容器為map,其內部使用雜湊表(hash)實現。

map是一種無序的基於key-value的資料結構,go語言中的map是引用型別,必須初始化才能使用。

go語言中map的定義語法如下:

map[keytype]valuetype
其中,

map型別的變數預設初始值為nil,需要使用make()函式來分配記憶體。語法為:

make(map[keytype]valuetype, [cap])
其中cap表示map的容量,該引數雖然不是必須的,但是我們應該在初始化map的時候就為其指定乙個合適的容量。

map中的資料都是成對出現的,map的基本使用示例**如下:

func

main

()

輸出:

map[小明:100 張三:90]

100type of a:map[string]int

map也支援在宣告的時候填充元素,例如:

func

main()

fmt.println(userinfo) //

}

go語言中有個判斷map中鍵是否存在的特殊寫法,格式如下:

value, ok := map[key]
舉個例子:

func

main

() else

}

go語言中使用for range遍歷map。

func

main()

}

但我們只想遍歷key的時候,可以按下面的寫法:

func

main()

}

注意:遍歷map時的元素順序與新增鍵值對的順序無關。

使用delete()內建函式從map中刪除一組鍵值對,delete()函式的格式如下:

delete(map, key)
其中,

示例**如下:

func

main

()}

func

main()

//取出map中的所有key存入切片keys

var keys = make(string, 0, 200)

for key := range scoremap

//對切片進行排序

sort.strings(keys)

//按照排序後的key遍歷map

for _, key := range keys

}

下面的**演示了切片中的元素為map型別時的操作:

func

main()

fmt.println("after init")

// 對切片中的map元素進行初始化

mapslice[0] = make(map[string]string, 10)

mapslice[0]["name"] = "小王子"

mapslice[0]["password"] = "123456"

mapslice[0]["address"] = "沙河"

for index, value := range mapslice

}

下面的**演示了map中值為切片型別的操作:

func

main()

slicemap[key] = value

fmt.println(slicemap)

}

寫乙個程式,統計乙個字串中每個單詞出現的次數。比如:」how do you do」中how=1 do=2 you=1。

go語言基礎之map

go語言中提供的對映關係容器為map,其內部使用雜湊表hash實現 map map是一種無序的基於key value的資料結構,必須初始化才能使用 package main import fmt func main fmt.println map1 判斷某乙個值是否存在 返回兩個引數,1.返回的值 ...

Go語言基礎之map

go語言中提供的對映關係容器為map,其內部使用雜湊表 hash 實現。map是一種無序的基於key value的資料結構,go語言中的map是引用型別,必須初始化才能使用。go語言中map的定義語法如下 map keytype valuetype 其中,map型別的變數預設初始值為nil,需要使用...

Go語言基礎之map

map是python中的dict型別。目錄 map的宣告基本上沒有多餘的元素。var mapname map keytpye valuetype其中 map型別的變數預設初始值為nil,需要使用make 函式來分配記憶體。語法為 make map keytype valuetype,cap 如果不使...