go语言学习笔记十三:map集合(代码片段)

kris_zhang kris_zhang     2022-10-22     750

关键词:

Go语言学习笔记十三: Map集合

Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等。而Python语言直接就属于一种类型,写法上比Java还简单。
Go语言中Map的写法比Java简单些,比Python繁琐。

定义Map

var x map[string]string
x : = make(map[string]string)

写法上有些奇怪,map为关键字,右侧中括号内部为key的类型,中括号外部为value的类型。一般情况下使用逗号或者冒号分割key和value,但是Go语言没有遵循这个原则,而是使用了括号里和括号外。
而且map必须初始化,否则就会变成nil map,而nil map不能用来存放键值对。

package main

import "fmt"

func main() 
    var x map[string]string
    x = make(map[string]string)
    
    x["a"] = "1";
    x["b"] = "2";
    
    for item := range x 
        fmt.Println(item, x[item]);
    
    
    value, exist := x["a"]
    if (exist) 
        fmt.Println("x has", value);
    

delete函数

delete() 函数用于删除集合的元素, 参数为 map 和其对应的 key。

fruits := map[string]string "apple": "12", "orange": "210"
delete(fruits, "apple")

golang✔️走进go语言✔️第十三课range&map(代码片段)

【Golang】✔️走进Go语言✔️第十三课range&map概述Range例1例2map例1例2例3概述Golang是一个跨平台的新生编程语言.今天小白就带大家一起携手走进Golang的世界.(第13课)RangeGo语言中range关键字用于for循环中迭代数组,切片,通道或集合... 查看详情

go语言map(集合)(代码片段)

定义Map可以使用内建函数make也可以使用map关键字来定义Map:/*声明变量,默认map是nil*/varmap_variablemap[key_data_type]value_data_type/*使用make函数*/map_variable:=make(map[key_data_type]value_data_type)实例:packagemainim 查看详情

go语言学习笔记—基础—高级数据类型—数据容器—字典map:map声明与初始化(代码片段)

1.map是什么map是一种无序键值对的集合,可以通过key来快速检索数据。键值对是map中的关联关系,key类似于索引,指向数据的value值。map有以下两个特点:无序。我们无法决定map的返回顺序,因为map是使用hash表... 查看详情

java集合学习笔记:map(代码片段)

Java集合学习笔记:MapUML简介源码阅读嵌套类interfaceEntry<K,V>静态方法comparingByKey()comparingByKey(Comparator<?superK>cmp)comparingByValue()comparingByValue(Comparator<?superV>cmp)比较器InterfaceCo 查看详情

go语言学习笔记—基础—高级数据类型—数据容器—字典map:map键值对的增删改查(代码片段)

1.插入元素(增)map插入key:value键值对scene:=map[string]int"one":1,"two":2,"three":3scene["four"]=4countryCapitalMap:=make(map[string]string)//map插入key- 查看详情

go语言学习笔记十二:范围(range)(代码片段)

Go语言学习笔记十二:范围(Range)rang这个关键字主要用来遍历数组,切片,通道或Map。在数组和切片中返回索引值,在Map中返回key。这个特别像python的方式。不过写法上比较怪异使用:=分割,而在python中使用in分割。而python中range... 查看详情

go语言map使用和并发安全(代码片段)

....1不安全原因2.2解决方案1map使用1.1map定义map是一种无序的集合,对应的key(索引)会对应一个value(值)ÿ 查看详情

go语言中映射表map的使用(代码片段)

1概述Go语言中的键值对(key->value)集合,称之为映射map。映射map是变长类型,定义时不需要指定长度。映射map是无序的,遍历是的顺序不可期,原因是底层由hash表实现。逻辑结构表示为:2创建语法varm=map[key_type]value_typekey1:value1,... 查看详情

go语言语法笔记(代码片段)

文章目录前言基础语法数据类型变量与常量算术与赋值运算符流程控制语句比较与逻辑运算符函数更多数据类型指针(pointer)结构体(struct)数组(array)切片(slice)映射(map)泛型(... 查看详情

java集合学习笔记(代码片段)

Java集合学习笔记前言开始学习Java的集合,简要的记录一下学习到的东西,仅供自己查阅和复习方便。学习自廖雪峰的Java教程。集合简介Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所有其他集... 查看详情

java集合学习笔记(代码片段)

Java集合学习笔记前言开始学习Java的集合,简要的记录一下学习到的东西,仅供自己查阅和复习方便。学习自廖雪峰的Java教程。集合简介Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所有其他集... 查看详情

尚硅谷_java零基础教程(集合collection:list,set;map)--学习笔记(代码片段)

Java集合一、Java集合框架概述1.理解2.集合框架涉及到的API二、Collection接口中的方法三、Iterator迭代器接口1.理解2.主要方法3.foreach四、Collection子接口一:List接口1.概述2.List接口的常用实现类3.接口方法五、Collection子接口二ÿ... 查看详情

go语言遍历map中的键值对(代码片段)

...mapNum["key1"]=1mapNum["key2"]=2mapNum["key3"]=3mapNum["key4"]=4//输出map集合key和valuefork,v:=rangemapNumfmt.Printf("key:%svalue:%d",k,v)//只输出valuefor_,v:=rangemapNumfmt.Printf("value:%d",v)//只输出keyfork:=rangemapNumfmt.Printf("key:%s",k) 查看详情

go事一眼看穿go的集合和切片(代码片段)

文章目录⛳️Go集合定义集合Go切片⛳️Go集合在Go中与集合相关的关键字是Map,其表示一种无需的键值对集合,Map可以通过Key检索值,这一点和Python中的字典特别像。集合是无序的,并且使用hash表实现。定义集合... 查看详情

go语言开发(十三)go语言常用标准库三(代码片段)

Go语言开发(十三)、Go语言常用标准库三一、sync1、sync简介sync提供基本的同步原语,如sync.Mutex,sync.RWMutex,sync.Once,sync.Cond,sync.Waitgroup,除了Once和WaitGroup类型外,大多数类型都供低级库使用。Go语言中,不要通过共享内存通... 查看详情

go语言基础之map(代码片段)

...种巧妙并且使用的数据结构。它是一个无序的key-value对的集合,其中所有的key都是不同的,然后通过给定的key可以在常数时间复杂度内检索、更新或删除对应的value。Golang中,一个map就是一个哈希表的引用,又称为字段或者关联... 查看详情

binder学习笔记(十三)——小结(代码片段)

...xff1f;我们结合前面的文章或许可以找出端倪。在Binder学习笔记(七)——ServiceManager如何响应addService请求?一文中其实留下了挺多疑问。server端调 查看详情

golang✔️走进go语言✔️第二十三课udp&tcp(代码片段)

【Golang】✔️走进Go语言✔️第二十三课UDP&TCP概述UDP通信服务端客户端输出结果TCP服务端客户端输出结果概述Golang是一个跨平台的新生编程语言.今天小白就带大家一起携手走进Golang的世界.(第23课)UDP通信UDP(UserDatagramProtocal)是... 查看详情