首页 > 编程知识 正文

go语言和java比(go语言什么时候使用map)

时间:2023-05-06 15:09:43 阅读:223 作者:589

00-1010map在哈希表中存储键值对。集合映射中的每个元素都是键值对。map[key]valuekey是操作map的唯一标准。您可以添加/删除/修改/检查地图中元素的键值是否唯一。添加重复的键将覆盖先前的元素映射是值类型,并且只有null指针(nil)func main(){ 0

var m映射[字符串]int

Fmt。Println(m==nil) //输出:真

Fmt。Printf('%p ',m) //输出:0x0

}映射中的键/值,多类型声明userinfo :=映射[字符串]接口{ } { 0

名称' : 'z3 ',

年龄' : 16,

性别' : '女孩',

}map在写入数据时不是并发安全的,可以与RWMutex结合使用以确保并发安全(RWMutex将在后面解释)

00-1010使用make函数实例化没有初始值的地图。实例化后,有一个内存地址,而不是nil func main(){ 0

m :=make(映射[字符串]字符串)

Fmt。Println(m==nil)//输出:false

Fmt。Printf('%p ',m)//输出:内存地址0xc000070330

}您可以在声明地图时直接为地图分配初始值。单行和多行书写时注意初始值的语法差异。映射中元素的键值对的语法满足:key:value。

键和值的类型必须严格对应于映射[key:value]类型。

func main(){ 0

m :=map[string]string { ' name ' : ' small Ming ',' address' :' Beijing'}

m1 :=映射[字符串]字符串{

名称' : 'smallming ',

地址' : '北京',

}

Fmt.println (m,M1)//地图[地址:北京名:小明]地图[地址:北京名:小明]

}

第三,操作地图中的元素

使用键判断如果键不存在,新的数据将被添加到映射中,如果键存在,映射中的元素funcmain()将被覆盖{ 0

m :=make(映射[字符串]字符串)

Fmt。Println(m==nil)//输出:false

Fmt。Printf('%p ',m)//输出:内存地址0xc000070330

}Go语言标准库提供了删除地图元素的功能,可以使用顶级delete()来完成。1.使用键存在删除元素。

2.如果不存在,地图中的内容将保持不变,并且不会报告错误。

func main(){ 0

m :=make(map[string]int)

m【‘钱’】=5

Fmt。Println(m) //输出:map[money:5]

删除(m,“无键”)

Fmt。Println(m) //输出:map[money:5]

删除(m,‘钱’)

Fmt。Println(m) //输出:map[]

}获取映射中指定键对应的值。使用:映射变量[key]获取与该键对应的值。

键和值的类型必须严格对应于映射[键]值的类型。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。