Go/複合資料型別/map-字典
阿新 • • 發佈:2018-11-16
# map是一種鍵值對存取的複合資料型別
package main import "fmt" func main() { //map 無序 鍵值唯一 //鍵值一般是基本資料型別(不能是切片等資料型別、不能是函式型別) //map 只有len() 沒有cap() //宣告定義一個map變數 var m map[int]string m1 := make(map[int]string) m2 := make(map[int]string,5) //指定初始容量 //map的賦值與新增 m1[1] = "aaa" m1[2] = "bbb" m1[1] = "111" m1[3] = "ccc" fmt.Println(len(m)) //0 fmt.Println(m1) //map[1:111 2:bbb 3:ccc] fmt.Println(len(m2)) //0 //map初始化 m3 := map[int]string{1:"c",2:"c++",3:"java",4:"golang"} fmt.Println(m3) //map[2:c++ 3:java 4:golang 1:c] //map遍歷 for k,v := range m3 { fmt.Printf("%d:%s \n",k,v) } //map判斷key是否存在 k := 5 v,flg := m3[k] if flg == true{ fmt.Println("key存在,value為:",v) }else{ fmt.Println("key不存在") } //map的刪除 k = 3 delete(m3,k) //刪除key為3的鍵值對 fmt.Println(m3) //map作函式引數為引用傳遞 test(m3) fmt.Println(m3) } func test(m map[int]string){ m[100] = "fff" }