Go 语言Map(集合) | 19

简介: Go 语言Map(集合) | 19

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 不能用来存放键值对

实例

下面实例演示了创建和使用map:

实例

package main

import "fmt"

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 的首都不存在")

   }

}

以上实例运行结果为:

France 首都是 巴黎
Italy 首都是 罗马
Japan 首都是 东京
India  首都是 新德里
American 的首都不存在
相关文章
|
8天前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
1天前
|
Go
go语言注释,标识符 | 17
go语言注释,标识符 | 17
|
2天前
|
存储 缓存 Go
go语言编程系列(五)
go语言编程系列(五)
|
2天前
|
搜索推荐 Java 编译器
go语言编程系列(四)
go语言编程系列(四)
|
4天前
|
安全 Go 调度
探索Go语言的并发模型:Goroutines与Channels的魔术
在这个快节奏的技术世界中,Go语言以其简洁的语法和强大的并发处理能力脱颖而出。本文将带你深入了解Go语言的并发模型,如何通过Goroutines和Channels来优雅地处理并发任务,以及它们如何帮助我们构建高效、可扩展的应用程序。
|
1天前
|
存储 缓存 安全
速成班!去繁存简,一文让你学会go语言基础!!
速成班!去繁存简,一文让你学会go语言基础!!
|
2天前
|
存储 JSON 安全
go语言编程系列(七)
go语言编程系列(七)
|
2天前
|
存储 安全 编译器
go语言编程系列(六)
go语言编程系列(六)
|
2天前
|
自然语言处理 Java 测试技术
go语言编程系列(二)
go语言编程系列(二)
|
2天前
|
编译器 Go
go语言编程系列(三)
go语言编程系列(三)