Go语言在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
1、定义结构员工employee,它有一个salary(工资)字段,给这个结构体定义一个方法giveRaise来按照指定的百分比增加薪水。 2、定义一个结构体类型Base,它包含一个字段id,方法Id()返回id,方法SetId()修改id。结构体类型Person包含Base,及FirstName和LastName字段。结构体类型Employee包含一个Person和salary字段。创建一个employee实例,然后显示它的id。 3、定义Person struct,包含id 、name、age 、sex字段,定义Student学生结构体,将Person结构体作为student结构体的成员,通过匿名字段实现继承关系,还包含class 、 score 字段,创建一个Student实例,显示学生的个人信息。 4、请编程实现一部智能手机的多重继承程序。智能手机既能打电话(用一个数据结构)又能拍照(再用一个数据结构)还能上网(再用另外一个数据机构),用一个数据结构描述智能手机,同时嵌入三个数据结构代表打电话、拍照及上网功能,每个内嵌的数据结构定义一个方法,分别代表打电话、拍照和上网。 发布于:2023-05-26 15:29 设置book信息并输出 发布于:2023-05-23 14:17 三个形状面积 发布于:2023-05-22 19:44 字符串测试 发布于:2023-05-24 09:58 交换字符串前一半和后一半的字符 发布于:2023-05-13 13:43 每隔一个字符后面加上空格,每隔两个加上* 发布于:2023-05-13 13:04 数据结构与算法 发布于:2023-05-11 23:04 字符串去重 发布于:2023-05-05 21:42 猴子吃桃问题 发布于:2023-04-30 14:09 两个函数偶和奇数时的调用 发布于:2023-04-24 08:58 4科总分与平均成绩 发布于:2023-04-23 16:44 charles激活码 发布于:2023-04-19 15:45 go语言多态 发布于:2023-04-11 11:38 Go - Hello 发布于:2023-04-01 14:07 guess game 发布于:2023-03-30 05:48 func main(){ var name string var age int count,err:=fmt.Scanf("%s%d",&name,&age) fmt.Printf("name=%s,age=%d\n",name,age) fmt.Printf("输入了%d个参数\n",count) fmt.Print("错误提示信息:",err)} 发布于:2023-03-19 10:53 Golang测试 发布于:2023-03-17 15:32 go 继承 发布于:2023-03-15 17:01 go 继承 发布于:2023-03-14 11:42 力扣题-盛最多的水 发布于:2023-03-27 22:59 domain拨测 发布于:2023-03-08 10:34 第一个代码,输出Hello world! 发布于:2023-04-04 14:00 学生包,返回学生人数 发布于:2023-02-09 11:01 go语言字符串解析 发布于:2023-02-03 11:49 vivo病毒感染 发布于:2023-02-01 11:50 省职工医保盈亏计算工具 发布于:2022-12-06 21:04 日志的打印,日志管理 发布于:2022-11-27 18:20 学习golang 发布于:2022-11-21 15:10 测试计算性能 发布于:2022-11-11 17:03 go语言初学 发布于:2022-11-12 11:00 闭包go例子 发布于:2022-11-08 14:44 go语言鉴权代码 - DD 发布于:2022-10-27 17:36 时间运算之前一天 发布于:2022-10-22 20:36 打印空心三角形 发布于:2022-10-19 18:42 leetcode. 801 使序列递增的最小交换次数 发布于:2022-10-10 03:28 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 [更多]
显示目录

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操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。