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异同 转 ...
随机推荐
- windows clone 迁移数据库
windows clone 迁移数据库可行.(c 盘底成复制)
- python tkinter窗口弹出置顶的方法
加上下面两句即可实现root窗口的置顶显示,可以用于某些程序的消息提示,能够弹出到桌面显示 root = Tk() root.wm_attributes('-topmost',1)
- 17972 Golden gun的巧克力
17972 Golden gun的巧克力 时间限制:1000MS 内存限制:65535K提交次数:93 通过次数:13 收入:124 题型: 编程题 语言: G++;GCC;JAVA Descr ...
- [BZOJ1040][ZJOI2008]骑士 基环树DP
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1040 题目给出了$n$个点和$n$条无向边,即一棵基环树或者基环树森林. 如果题目给的关系 ...
- C/C++ static
C/C++中static关键字作用总结 1.先来介绍它的第一条也是最重要的一条:隐藏.(static函数,static变量均可) 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全 ...
- laravel之伪造跨站请求保护CSRF实现机制
Laravel 提供了简单的方法使你的应用免受 跨站请求伪造 (CSRF) 的袭击.跨站请求伪造是一种恶意的攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令. Laravel 为每个活跃用户 ...
- qt QTableView/QTableWidget样式设置
转载请注明出处:http://www.cnblogs.com/dachen408/p/7591409.html 选中设置: QTableView::item:selected { background ...
- (译)IOS block编程指南 2 block开始
Getting Started with Blocks(开始block) The following sections help you to get started with blocks usin ...
- Unity整合Asp.Net MVC
先来看一下我们的解决方案 我们建立Yubay.Models项目, using System; using System.Collections.Generic; using System.Data.E ...
- python 一些函数和类用法记录
这一篇主要用来记录在学习过程中遇到的一些觉得有意思的函数或者类的用法,有一些用法感觉很炫酷. 1.collections.defaultdict from collections import def ...