Go map基础
package main import "fmt" //Map
//创建:make(map[string]int)
//获取元素: m[key]
//key不存在时,获得value类型的初始值
//用value, ok:= m[key]来判断是否存在key
//delete删除元素
//用range遍历key,或者遍历key,value对
//不保证遍历顺序,如需顺序,需手动对key排序
//用len获得元素个数
//map使用哈希表,必须可以比较相等
//除了slice, map, function的内建类型都可以作为key
//struct类型不包含上述字段也可以作为key func main() {
//创建map
m := map[string] string {
"name": "ccmouse" ,
"course": "golang",
"site": "imooc",
"quality": "notbad",
}
fmt.Println(m) //map[course:golang site:imooc quality:notbad name:ccmouse] m2 := make( map[string]int)
fmt.Println(m2) //map[] m2 == empty map var m3 map[string]int
fmt.Println(m3) //map[] m3 == nil //map的遍历
for k, v := range m{
fmt.Println(k, v) //name ccmouse //hash map输出无序
//course golang
//site imooc
//quality notbad
} //map取值
courseName, ok := m["course"]
fmt.Println(courseName, ok) //golang true if causeName, ok:= m["cause"]; ok{ //判断值存不存在
fmt.Println(causeName)
}else{
fmt.Println("Key does not exist") //Key does not exist
} //删除元素
name, ok := m["name"]
fmt.Println(name, ok) //ccmouse true
delete(m, "name")
name, ok = m["name"]
fmt.Println(name, ok) // false
}
Go map基础的更多相关文章
- scala - Map基础
Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 / ...
- Map 基础用法
import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; p ...
- Java容器---Map基础
1.Map API (1)Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值. java.util Interface Map<K ...
- STL之map基础知识
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候 ...
- Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...
- 使用Spring Boot搭建应用开发框架(一) —— 基础架构
Spring的简史 第一阶段:XML配置,在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件分放到不同的配置文件里,那时候需要频繁的在 ...
- Java:Map总结
概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...
- Map不同具体实现类的比较和应用场景的分析
1.Map的概括总结 (01) Map 是“键值对”映射的抽象接口.(02) AbstractMap 实现了Map中的绝大部分函数接口.它减少了“Map的实现类”的重复编码.(03) SortedMa ...
- Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...
随机推荐
- webkit滤镜
-webkit-filter: grayscale(1);/*灰度*/ -webkit-filter: sepia(1);/*褐色*/ -webkit-filter: saturate(1);/*饱和 ...
- ping localhost出现地址::1
近期发现本机的localhost不好用了. 症状: 自己本机部署服务器时,浏览器地址栏访问localhost:8080不通: 禁用网络连接,未果: 拔出网线,OK. cmd里ping之,返回结果如下: ...
- sql server group by 分组带sum avg求和需要注意的一点
这是在写SQL语句遇到的一个sum 和group bu分组的问题
- Java报表之JFreeChart
一.JFreeChart简介 JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications,servlets以及JSP等使用所设计. JFre ...
- ES6学习笔记(12)----Reflect
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ Reflect 1.概述:Object对象的内部方法都能在Reflect中找到,同时Reflec ...
- 公有云大脑——核心IDC简影
出差刚到家,公司最近接了一个矿场转建公有云平台的项目. 前期200台服务器作为公有云基础. 我主要负责总体网络规划.计费数据库集群设计.ceph集群自动部署.容器化设计.硬件及系统调试优化等等! 由于 ...
- iOS 二维码的生成 QREncoder
生成二维码: 在生成二维码的库中QREncoder最为常见,但是由于中文字符的特殊性,生成中文的时候有时会出现一定的错误,所以建议使用libqrencode,是一个纯C编写的类库. 以libqrenc ...
- 在一台电脑上运行两个或多个tomcat
在一台电脑上运行多个tomcat 在本例中,使用两个tomcat做示例 工具/原料 tomcat 安装好jdk,并且配置好环境变量 方法/步骤 首先去apache下载一个tomcat, ...
- expand - 把 tab 符转换为空格符
总览 (SYNOPSIS) ../src/expand [OPTION]... [FILE]... 描述 (DESCRIPTION) 把 各文件 FILE 中的 tab 符 转换为 空格符, 然后 写 ...
- Hadoop伪集群部署
环境准备 [root@jiagoushi ~]# yum -y install lrzsz 已加载插件:fastestmirror Repository 'saltstack-repo': Error ...