Go语言在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,更高效的运行,点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
leetcode 283.移动零(二分查找) 发布于:2022-05-09 01:27 go语言数组Arrays学习 发布于:2022-05-07 21:55 卧槽泥马勒戈壁 发布于:2022-05-06 15:43 leetcode DFS 模板 发布于:2022-04-25 15:59 leetcode BFS遍历二叉树模板 发布于:2022-04-25 15:57 使用for-range遍历map 发布于:2022-04-19 11:19 顺序全排列 发布于:2022-04-17 00:17 计算斐波那契数列 发布于:2022-04-14 21:26 json - 反射出数字和map[stirng]string 发布于:2022-04-11 11:17 golang int8的值范围 发布于:2022-04-07 14:00 sl为一个切片,sl[n:n]和sl[n:n+1]的长度是多少 发布于:2022-04-02 14:06 链表的遍历 发布于:2022-03-24 20:26 Hello World! 发布于:2022-03-17 11:26 切片的扩容原则测试 发布于:2022-03-15 09:16 一个作业,对数组的修改 发布于:2022-03-11 16:54 go语言实现冒泡排序 发布于:2022-03-11 15:02 c语言中文网:获取因vip隐藏掉的真实地址 发布于:2022-03-03 11:32 sfz批量校验 发布于:2022-03-02 23:46 身份证校验 发布于:2022-03-02 16:26 测试go用 发布于:2022-02-24 17:34 map排序 发布于:2021-12-15 19:55 kmp试水看看 发布于:2021-12-14 14:01 go 瞎写玩玩 发布于:2021-11-30 14:10 go 二分查找 发布于:2021-11-25 14:28 并发安全退出 发布于:2021-11-22 14:27 go 实现堆排序 发布于:2021-11-11 20:53 go 实现归并排序 发布于:2021-11-04 14:14 leetcode 492.构造矩形 发布于:2021-10-24 00:01 go第K大数 发布于:2021-10-21 22:59 go实现非递归版本快速排序 发布于:2021-10-21 01:32 json-反射 发布于:2021-10-13 16:23 json序列化:多层结构的interface{}类型断言 发布于:2021-10-11 16:44 json序列化:匿名结构体 发布于:2021-10-11 16:44 go by example 发布于:2021-10-19 11:47 go 实现快速排序 发布于:2021-10-19 10:31 json-结构体标签序列化 发布于:2021-11-10 16:55 temp gol.go 发布于:2021-09-28 17:55 Go json解析 & 类型断言 发布于:2021-09-19 18:13 channel并发 发布于:2021-09-16 14:07 map遍历顺序测试 发布于:2021-09-14 14:09 For 使用方法 发布于:2021-09-02 21:37 else if 语法使用 发布于:2021-09-02 21:36 spring 语法分类 发布于:2021-09-02 21:35 switch 分支语法 发布于:2021-09-02 21:34 go语言圣经示例 发布于:2021-09-02 15:41 格式化字符串fmt.Sprintf使用例 发布于:2021-09-02 04:55 Hello Go World! 发布于:2021-09-02 04:23 金额格式化 发布于:2021-08-28 10:35 map中嵌套slice,append的坑 发布于:2021-08-21 18:25 排序算法-go 发布于:2021-08-19 19:03 [更多]
显示目录

Map(集合)



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

实例

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

package main

import "fmt"

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

   /* map 插入 key-value 对,各个国家对应的首都 */
   countryCapitalMap["France"] = "Paris"
   countryCapitalMap["Italy"] = "Rome"
   countryCapitalMap["Japan"] = "Tokyo"
   countryCapitalMap["India"] = "New Delhi"

   /* 使用 key 输出 map 值 */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }

   /* 查看元素在集合中是否存在 */
   captial, ok := countryCapitalMap["United States"]
   /* 如果 ok 是 true, 则存在,否则不存在 */
   if(ok){
      fmt.Println("Capital of United States is", captial)  
   }else {
      fmt.Println("Capital of United States is not present") 
   }
}

以上实例运行结果为:

Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
Capital of United States is not present

delete() 函数

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

package main

import "fmt"

func main() {   
   /* 创建 map */
   countryCapitalMap := map[string] string {"France":
   "Paris","Italy":"Rome","Japan":"Tokyo","India":"New Delhi"}

   fmt.Println("原始 map")   

   /* 打印 map */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }

   /* 删除元素 */
   delete(countryCapitalMap,"France");
   fmt.Println("Entry for France is deleted")  

   fmt.Println("删除元素后 map")   

   /* 打印 map */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
}

以上实例运行结果为:

原始 map
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
Entry for France is deleted
删除元素后 map
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
由JSRUN为你提供的Go语言在线运行、在线编译工具
        JSRUN提供的Go语言在线运行,Go语言 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

  • 00:23
注册登录后可减少验证码的弹出,点击前往 注册 | 登录

皮肤:

运行模式:

嵌入代码 iframe嵌入:


服务器已安装大部分常用的第依赖库,但仍可能存在一些未被安装的库, 可以通过本窗口立即安装所需依赖库。


请输入依赖库的名称:

请选择语言: