Go语言在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,更高效的运行,点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
USB接口 发布于:2022-09-22 22:00 go语言的方法 发布于:2022-09-08 15:59 go range循环 发布于:2022-09-06 22:00 leetcode 76.最小覆盖子串(滑动窗口) 发布于:2022-09-05 10:37 go结构体使用 发布于:2022-09-02 17:26 go结构体介绍 发布于:2022-08-31 14:32 測試 golang 初始化變數 发布于:2022-08-27 03:30 go函数介绍 发布于:2022-09-08 10:27 mao delete()函数 发布于:2022-08-25 13:56 map(集合) 发布于:2022-08-25 14:37 range遍历其它数据结构 发布于:2022-08-25 11:26 go循环语句 发布于:2022-08-28 15:11 range遍历map 发布于:2022-08-25 14:08 go判断语句 发布于:2022-08-28 15:00 切片 append()和copy函数 发布于:2022-08-25 10:31 空切片学习 发布于:2022-08-25 10:16 go语言中的map 发布于:2022-08-24 18:04 go切片案例 发布于:2022-08-28 14:55 go数组案例 发布于:2022-08-23 21:46 go指针案例 发布于:2022-08-28 15:21 go闭包案例 发布于:2022-08-28 15:28 go语言包案例 发布于:2022-08-28 15:31 go函数可变参数 发布于:2022-08-28 15:35 go匿名函数 发布于:2022-08-28 15:37 go方法当做参数 发布于:2022-08-28 15:39 常量demo 发布于:2022-08-18 15:50 go聊天第一版 发布于:2022-08-07 16:20 rune方法 发布于:2022-08-05 18:08 私有go映射学习 发布于:2022-07-27 14:56 utils - strconv.FormatInt 发布于:2022-07-12 21:17 接口-接口实现方式不同的问题 发布于:2022-07-06 21:18 接口-使用接口的方式进行封装一个方法 发布于:2022-07-06 20:17 接口-传统实现方式 发布于:2022-07-06 20:11 筛选素数、筛选梅森素数 发布于:2022-07-01 03:00 求N个数的最大公约数 发布于:2022-07-01 00:06 第一个go程序,实现键盘的输入和输出 发布于:2022-06-30 17:36 golang-fmt 发布于:2022-06-24 20:59 一个简单并发程序测试,开启100个协程,每个协程执行一个函数,输出使用这个函数时传入的参数 发布于:2022-06-14 16:30 这是闹着玩。 发布于:2022-06-08 19:59 这是一个函数返回值打印文件 发布于:2022-06-05 12:18 leetcode 1071. 字符串的最大公因子辗转相除法 发布于:2022-06-02 07:14 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 [更多]
显示目录

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嵌入:


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


请输入依赖库的名称:

请选择语言: