Go语言的map以及sort
通过这个例子了解map的使用。
Go语言程序:
// map project main.go
package mainimport ("fmt""sort"
)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"countryCapitalMap["China"] = "Beijing"fmt.Println("Original:")/* 使用 key 输出 map 值 */for country := range countryCapitalMap {fmt.Println("Capital of", country, "is", countryCapitalMap[country])}fmt.Println("")/* map 删除 key-value 对 */delete(countryCapitalMap, "India")fmt.Println("After deletion:")/* 使用 key 输出 map 值 */for country := range countryCapitalMap {fmt.Println("Capital of", country, "is", countryCapitalMap[country])}fmt.Println("")/* 映射反转 */capitalCountryMap := make(map[string]string, len(countryCapitalMap))for country, capital := range countryCapitalMap {capitalCountryMap[capital] = country}fmt.Println("After the reversal:")for capital := range capitalCountryMap {fmt.Println("Country of", capital, "is", capitalCountryMap[capital])}fmt.Println("")/* 查看元素在集合中是否存在 */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")}fmt.Println("")/* 排序输出 */var keys []stringfor k := range countryCapitalMap {keys = append(keys, k)}sort.Strings(keys)for _, k := range keys {fmt.Println("Key:", k, "Value:", countryCapitalMap[k])}
}
程序运行结果:
Original:
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
Capital of China is BeijingAfter deletion:
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of China is BeijingAfter the reversal:
Country of Paris is France
Country of Rome is Italy
Country of Tokyo is Japan
Country of Beijing is ChinaCapital of United States is not presentKey: China Value: Beijing
Key: France Value: Paris
Key: Italy Value: Rome
Key: Japan Value: Tokyo
程序说明:
1.map似乎可以直接使用
2.排序可以使用sort包
3.map是无序的需要另外定义一个数组来排序
参考链接:
1.Ubuntu安装Go语言环境
2.Ubuntu构筑LiteIDE的Go语言开发环境
Go语言的map以及sort相关推荐
- R语言数据排序函数sort, order rank实战
R语言数据排序函数sort, order & rank实战 目录 R语言数据排序函数sort, order & rank实战 #sort vs. order vs. rank函数基础 ...
- C语言创建map,遍历map
C语言创建map,遍历map 要实现的功能如下 完整源代码实现如下 要实现的功能如下 代码实现创建一个map,代码实现打印map 完整源代码实现如下 #include <iostream> ...
- go语言之map的使用
go语言的map,和C/C++语言的功能使用差不多,但是也存在很多差别.map在go语言大并发业务开发中是经常用,例如用户信息的广播等. 下面看看相关使用代码 map的遍历和删除,添加 package ...
- GO语言基础map与函数
1. map 1. 类似其它语言中的哈希表活着字典,以 key-value 形式存储数据 2. key 必须是支持 == 或 != 比较运算的类型,不可以是函数.map 或 slice 3. map ...
- Go语言之map练习
map理论基础知识 类似其他语言中的哈希表或者字典,以key-value形式存储数据 key必须是支持== 或者 != 比较运算的类型,不可以是函数,map或者slice map查找比线性搜索快很多, ...
- c语言map函数k v都是int,Go语言sync.Map(在并发环境中使用的map)
Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 下面来看下并发情况下读写 map 时会出现的问题,代码如下: // 创建一个int到int的映射 m := make(m ...
- go语言的map以及红黑树的map
结论: 1. go语言自带的map是基于hash表实现的 2. c++语言中map是基于红黑树实现的 3. go语言很多第三方库中提供了基于红黑树map的实现 这里我们推荐的是由Social Expl ...
- Dart语言基础Map、List、Set操作合辑
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 Flutter完全采用 ...
- 深入理解GO语言:map结构原理和源码分析
Map结构是go语言项目经常使用的数据结构,map使用简单对于数据量不大的场合使用非常合适.Map结构是如何实现的?我们先从测试程序入手,我们希望分析map的创建.插入.查询.删除等流程,因此我们的测 ...
最新文章
- 深入浅出的讲解傅里叶变换(完整)
- Java项目:兼职平台系统(java+Springboot+ssm+HTML+maven+Ajax+mysql)
- Redis持久化存储详解(一)
- 我们究竟还要学习哪些Android知识?专题解析
- python编程书籍1020python编程书籍_代写INFT 1020作业、Database作业代做、Java课程作业代写、c++,Python编程作业代做...
- Bug总结:python语言中出现的import error错误的解决思路
- 每天一道LeetCode-----将间隔集中有重叠的间隔合并
- leetcode 714. 买卖股票的最佳时机含手续费(dp)
- 《信息安全系统设计基础》 第五周学习总结
- 美团点评2020年测试工程师笔试题
- RAC Debug开关修改工具
- gitbash PHP执行输出中文乱编解决方式
- LogServer日志详解
- Java实现Excel导入和导出,看这一篇就够了(珍藏版)
- WinRAR去除广告弹窗(完整版)
- TextToSpeech文本转语音,从开始说话到结束的监听
- JAVA 换行输出的五种方法
- 阿铭Linux_传统IDC 部署网站学习笔记20190125
- 【Day3.1】拥有个奇怪索道的拷王宫
- POI解决读入Excel内存溢出
热门文章
- bool类型数组转换成一个整数_Python如何处理数据?如何把数据转换成我们想要的?三种处理方法...
- dedecms mysql使用中_dedecms织梦数据库类使用方法$dsql
- 如何将html转为report,如何把Html5 Report Viewer添加到Web项目
- java与物联网_java和php做物联网哪个好
- request如何获取请求路径方法
- win10基于anaconda下的tensorflow2.0.0及cuda10.0、cudnn安装成功
- arm与linux些许问题,arm-linux中遇到的问题
- 数据建模的的参考工具EZDML
- windows安装多个maven_全网最容易理解的Maven安装、配置、集成演示
- Linux编译LLVM,如何使用ninja快速编译LLVM和Clang(以llvm3.3为例子)