初識golang 資料型別 map

2021-10-01 10:22:35 字數 2146 閱讀 2203

golang中的map就相當於python中的dict,key:value形式,無序,key唯一。

廢話少說,上例子:

package main

import "fmt"

func main()

fmt.println(animal)

的增刪改查--增

animal["age"] = "18"

fmt.println(animal)

的增刪改查--刪

delete(animal, "age")

fmt.println(animal)

的增刪改查--改(golang的map是引用型別,兩個map同時指向同乙個底層,修改其中乙個,另乙個也會改變(深拷貝))

animal["***"] = "human"

fmt.println(animal)

的增刪改查--查

fmt.println(animal["name"])

fmt.println(animal["age"])

for k, v := range animal

}

執行結果:

hou******

map[name:hou****** ***:man]

map[age:18 name:hou****** ***:man]

map[name:hou****** ***:man]

map[name:hou****** ***:human]

hou******

name hou******

*** human

package main

import "fmt"

func main()

fmt.println(animal)

if v, ok := animal["name"]; ok else

}

執行結果:

map[name:hou****** ***:man]

存在key= hou******

3.map排序

1).根據key排序

package main

import (

"fmt"

"sort"

)func main()

fmt.println(animal)

arr := string{}

for k := range animal

fmt.println(arr)

sort.strings(arr)

fmt.println(arr)

for _, key := range arr

}

執行結果:

map[a:2 b:4 c:1 d:3]

[d a c b]

[a b c d]

a 2b 4

c 1d 3

2).根據value排序

思路是直接不用map,用struct存放key和value,實現sort介面,就可以呼叫sort.sort進行排序了

package main

import (

"fmt"

"sort"

)type pair struct

type pairlist pair

func (p pairlist) swap(i, j int)

func (p pairlist) len() int

func (p pairlist) less(i, j int) bool

func main()

p := make(pairlist, len(m))

i := 0

for k, v := range m

i ++

} sort.sort(p)

fmt.println(p)

for _,a := range p

}

執行結果:

[    ]

b 16

a 18

c 21

e 23

d 35

Golang基礎 資料型別 map

var m map int string fmt.println m fmt.printf t n m 在字典中不能使用cap,只能用len n make map int string,3 map是無序的,自動擴容 n 1 1 n 2 2 n 3 3 n 4 4 fmt.println n l ma...

map資料型別

map資料型別是乙個類似於物件的資料型別 大型專案中會經常使用 通過 建構函式來定義map資料型別 const map new map 如果需要在定義的同時進行賦值,賦值的引數必須是二維陣列形式 二維陣列,統一都是兩個單元,第乙個單元是map的鍵名,第二個單元是map的數值 二維陣列,第乙個單元,也...

Golang 資料型別

注釋 行注釋 塊注釋 識別符號 除了數字開頭的不允許,符號開頭的不允許,關鍵字不允許,其他的unicode字元組合都可以。33 也可以是識別符號,我們 也可以是識別符號。識別符號也區分大小寫。以大寫字母開頭的識別符號是公開的。其他任何識別符號都是私有的。空識別符號 是乙個佔位符,用於賦值操作的時候,...