首页 > 其他分享 >Go 语言Map(集合)

Go 语言Map(集合)

时间:2023-02-13 16:34:21浏览次数:38  
标签:Println Map map fmt countryCapitalMap 集合 key Go

Go 语言Map(集合)

Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。

定义 Map

可以使用内建函数 make 也可以使用 map 关键字来定义 Map:

/* 声明变量,默认 map 是 nil */
var map_variable map[key_data_type]value_data_type

/* 使用 make 函数 */
map_variable := make(map[key_data_type]value_data_type)

如果不初始化 map,那么就会创建一个 nil map。nil map 不能用来存放键值对

func main() {
    var countryCapitalMap map[string]string /*创建集合 */
    countryCapitalMap = make(map[string]string)

    /* map插入key - value对,各个国家对应的首都 */
    countryCapitalMap [ "France" ] = "巴黎"
    countryCapitalMap [ "Italy" ] = "罗马"
    countryCapitalMap [ "Japan" ] = "东京"
    countryCapitalMap [ "India" ] = "新德里"

    /*使用键输出地图值 */
    for country := range countryCapitalMap {
        fmt.Println(country, "首都是", countryCapitalMap [country])
    }

    /*查看元素在集合中是否存在 */
    capital, ok := countryCapitalMap [ "American" ] /*如果确定是真实的,则存在,否则不存在 */
    /*fmt.Println(capital) */
    /*fmt.Println(ok) */
    if (ok) {
        fmt.Println("American 的首都是", capital)
    } else {
        fmt.Println("American 的首都不存在")
    }
}

delete() 函数

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

 /*删除元素*/ delete(countryCapitalMap, "France")

 

标签:Println,Map,map,fmt,countryCapitalMap,集合,key,Go
From: https://www.cnblogs.com/ljknlb/p/17116832.html

相关文章

  • go-rod 自定义启动
       u:=launcher.New().Headless(false).//Devtools(true).Bin("E:\\Chrome-bin\\chrome.exe").MustLaunch()browser:=rod.Ne......
  • Go 语言范围(Range)
    Go语言中range关键字用于for循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回key......
  • List集合
    List集合​​1、List集合​​​​1.1List接口的方法​​​​1.2案例:元素的增删改查​​​​1.3List接口的实现类​​​​1.3.1ArrayList类​​​​1.3.2LinkedList类​......
  • 【转】go Mutex (互斥锁)和RWMutex(读写锁)
    golang中sync包实现了两种锁Mutex(互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能.typeMutexfunc(m*Mutex)Lock(......
  • Leangoo领歌敏捷开发工具可将AC一键转换为任务。(检查项转换卡片)
    Leangoo领歌看板工具中企业版支持检查项转换卡片功能。可以将卡片中的每一个检查项转换为独立的卡片,方便对其分别进行任务分配和状态管理。点击检查项清单右侧的转换图标:......
  • leangoo领歌共享协作思维导图导入导出XMind文件。
    协作型共享多人协作思维导图Leangoo,可以导出导入XMind文件了,我们来看看如何操作:进入leangoo官网:www.leangoo.com,登陆账号。点击右上角“+”新建脑图,然后导入XMind文件......
  • go排序方法总结
    1、方法总结sort.Intssort.Floatssort.Stringssort.SliceStablesort.Interface{}2、实例//sort.Ints()s:=[]int{4,2,3,1}sort.Ints(s)fmt.Println(s)//......
  • 【转载】go.sum中特殊hash如何计算
    Golang为了依赖的安全考虑,在go.mod的基础上引入了go.sum,go.sum文件的作用主要是记录项目依赖的hash值,防止被人修改。在分析具体项目的go.sum文件后可以发现go.sum中不仅......
  • Calling C++ Code From Go With SWIG
    http://zacg.github.io/blog/2013/06/06/calling-c-plus-plus-code-from-go-with-swig/ RecentlywhileworkingonaGobasedprojectIneededtousesomefunctio......
  • 【问题讨论】关于golang调用so的问题的讨论
    runtime:dlopen/dlsymwithoutCGo#18296 Open  iamacarpetopenedthisissueDec13,2016·12comments  Open  ......