素材巴巴 > 程序开发 >

数据类型-map

程序开发 2023-09-06 15:26:40

数据类型-map

定义

在go语言中 map是散列表(hash表的引用),他是一个拥有键值对元素的无序集合,在这个集合中键是唯一的。可以通过键来获取,更新或移除操作,无论这个散列表有多大,这个操作基本都是通过常量时间完成的,所有可比较的类型,整型、字符串等都可作为key.

使用

func crateMap(){// make(map[keyTYpe] valueType)//创建相同键值mapsteps := make(map[string] string)fmt.Println(steps)// 创建不同键值mapsteps2 := make(map[string] int)fmt.Println(steps2)//通过字面值创建mapvar step3  map[string]string = map[string]string{"1":"1","2":"2",}fmt.Println(step3)//通过短声明创建steo4 := map[string]int{"1":1,"2":2,}

在这里插入图片描述

操作

新增、编辑

func mapAddData(){m := map[string]int{"1":1,"2":2,}m["3"] = 5fmt.Println(m["3"])m["3"] = 7fmt.Println(m["3"])
 }
 

在这里插入图片描述
删除

func mapDelete()  {m := map[string]int{"1":1,"2":2,}delete(m,"1")fmt.Println(m)
 }
 

在这里插入图片描述
判断键值是否存在

func exist()  {m := map[string]int{"1":1,"2":2,}_,ok := m["5"]fmt.Println(ok)}
 

在这里插入图片描述

循环和长度判断

func get()  {m := map[string]int{"1":1,"2":2,}for key,value := range m {fmt.Printf("key:%s,value:%dn",key,value)}// len()获取map的长度fmt.Println(len(m))
 }
 

在这里插入图片描述

引用 map是引用类型 当 map 被赋值为一个新变量的时候,它们指向同一个内部数据结构。因此,改变其中一个变量,就会影响到另一变量。

func mapByReferance(){m := map[string]int{"1":1,"2":2,}fmt.Println(m)newm:= mnewm["1"]=3newm["5"]=6fmt.Println(m)fmt.Println(newm)}
 

在这里插入图片描述


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。