日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Golang——map集合初始化、键值操作、map作为函数参数的使用

發布時間:2025/3/15 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Golang——map集合初始化、键值操作、map作为函数参数的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • map是一種無序的鍵值對集合,鍵是不允許重復的,map是通過hash實現的
  • map最重要的一點是通過key來快速檢索數據,key類似于索引,指向數據的值
  • 引用類型不能作為key

map的創建:

格式1:

var map名稱 map[key的類型]value的類型

格式2:

map名稱 := map[key的類型]value的類型{}

格式3:

map名稱 := make(map[key的類型]value的類型)

演示:

func main() {var m map[int]stringm1 := map[int]string{}m2 := make(map[int]string)fmt.Println(m)fmt.Println(m1)fmt.Println(m2) }

map的初始化:

格式1:

var map名稱 map[key的類型]value的類型 = map[key的類型]value的類型{key:value,key:value}

格式2:

map名稱 := map[key的類型]value的類型{key:value,key:value}

格式3:

map名稱 := make(map[key的類型]value的類型) map名稱 [key] = value

演示:

func main() {//var m map[string]string = map[string]string{"打野": "露娜", "中路": "不知火舞", "射手": "馬可波羅"}// 可以簡寫var m = map[string]string{"打野": "露娜", "中路": "不知火舞", "射手": "馬可波羅"}m1 := map[string]string{"打野": "露娜", "中路": "不知火舞", "射手": "馬可波羅"}m2 := make(map[string]string)m2["打野"] = "露娜"m2["中路"] = "不知火舞"m2["射手"] = "馬可波羅"fmt.Println(m)fmt.Println(m1)fmt.Println(m2) }

map鍵值操作:

格式作用
map名稱[鍵]通過key獲取值
value,ok := map[key]判斷key是否存在
delete(map名稱,鍵)通過key刪除value

演示:

func main() {m := map[string]string{"打野": "露娜", "中路": "不知火舞", "射手": "馬可波羅"}fmt.Println(m["打野"])value, key := m["打野2"]if key { fmt.Println(value)} else {fmt.Println("key不存在")}for key, value := range m {fmt.Println(key, value)}delete(m, "打野")fmt.Println(m) }

map作為函數參數:

在函數中修改map的值,會影響到原來的map

創建格式格式:

func 函數名 (map){函數體 }

調用格式:

函數名(map)

演示:

func main() {m := map[string]string{"打野": "露娜", "中路": "不知火舞", "射手": "馬可波羅"}mapDemo(m)fmt.Println("修改后main中打印:", m) }func mapDemo(m map[string]string) {fmt.Println("修改前:", m)delete(m, "打野")fmt.Println("修改后mapDemo中打印:", m) }

輸出:

修改前: map[中路:不知火舞 射手:馬可波羅 打野:露娜] 修改后mapDemo中打印: map[中路:不知火舞 射手:馬可波羅] 修改后main中打印: map[中路:不知火舞 射手:馬可波羅]

統計字母出現的次數:

思路:

定義map,鍵盤錄入的字母作為map的key,統計的次數作為map的value,循環遍歷

func mapDemo() {fmt.Println("請輸入要統計的字母:")// 定義統計次數的變量var str stringfmt.Scan(&str)m := make(map[byte]int)for i := 0; i < len(str); i++ {// 定義變量s作為map的keys := str[i]// 通過key獲取值 int類型初始值為0,相同則+1作為新的valuem[s] += 1}fmt.Println("統計的字符次數為:\n\n")// 遍歷for key, value := range m {fmt.Printf("%c:%d\n", key, value)} }

總結

以上是生活随笔為你收集整理的Golang——map集合初始化、键值操作、map作为函数参数的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。