Go学习笔记之Map
Go学习笔记之Map
Map 引用类型,哈希表。map的key必须可以比较相等,除了slice, map, function的内建类型都可以作为key。struct类型不包含上述字段,也可作为key。
map的操作
1.创建一个map。
m := map[int]struct{
name string
age int
}{
1: {"user1", 10},
2: {"user2", 20},
}
fmt.Println(m)
2.使用make创建。这里map为空。
m := make(map[string]int) //map[key]value,m == empty
3.或者定义一个map,这里map为nil。
var m map[string]int // m == nil
2.获取元素
1.使用value, ok := map[key]来判断是否存在key.
2.使用delete删除元素。
m := map[string]int{
"a": ,
}
if v, ok := m["a"]; ok{ //判断key是否存在
println(v)
}else{
println("not exist")
}
println(m["c"]) //对于不存在的key, 直接返回\0,不会报错
m["b"] = //新增或修改
delete(m, "c") //删除,若key不存在,不会报错
println(len(m)) //获取键值对数量,cap 无效
map的遍历
不能保证迭代返回的次序。
m := map[string]string {
"name": "ccmouse",
"course": "golang",
"site": "imooc",
}
fmt.Println("Traversing map")
for k,v := range m {
fmt.Println(k, v)
}
输出:
course golang
site imooc
name ccmouse
Go学习笔记之Map的更多相关文章
- Python学习笔记之map、zip和filter函数
这篇文章主要介绍 Python 中几个常用的内置函数,用好这几个函数可以让自己的代码更加 Pythonnic 哦 1.map map() 将函数 func 作用于序列 seq 的每一个元素,并返回处理 ...
- stl源码剖析 详细学习笔记 set map
// // set map.cpp // 笔记 // // Created by fam on 15/3/23. // // //---------------------------15/03 ...
- Thinking in java学习笔记之map的应用
Random rand = new Random(47); Map<Integer,Integer> m = new HashMap<Integer,Integer>(); f ...
- Java集合类学习笔记(Map集合)
Map用于保存具有映射关系的数据,因此Map集合里保存着两组数据,一组用于保存Map的key,一组用于保存key所对应的value. Map的key不允许重复. HashMap和Hashtable都是 ...
- 【Java学习笔记】Map集合的keySet,entrySet,values的用法例子
import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...
- 【Java学习笔记】Map借口的子接口----HashMap
存储在HashMap集合中的元素,必须覆盖hashCode和equals方法(与HashSet类似) import java.util.HashMap; import java.util.Iter ...
- 【Java学习笔记】Map
Map: 一次添加一对元素,也称为双列集合. 而Collection,一次添加一个元素,称为单列集合. 常用方法: 1.添加 value put(key,value); 返回前一个与k ...
- k64 datasheet学习笔记4---Memory Map
1.前言 本文主要介绍K64地址空间的映射 2. System Memory Map 3. K64地址映射 4. Armv7m地址映射 4.1 Armv7M.System地址段(0XE0000000~ ...
- ES6学习笔记之map、set与数组、对象的对比
ES6 ES5中的数据结构,主要是用Array和Object.在ES6中主要新增了Set和Map数据结构.到目前为止,常用的数据结构有四种Array.Object.Set.Map.下面话不多说了,来一 ...
随机推荐
- VUE-v-if和v-else的使用
1.v-if和v-else <h2 v-if="true">v-if</h2> <h2 v-else>v-else</h2> 注:v ...
- Vue.js@2.6.10更新内置错误处机制,Fundebug同步支持相应错误监控
摘要: Fundebug 的 JavaScript 错误监控插件同步支持 Vue.js 异步错误监控. Vue.js 从诞生至今已经 5 年,尤大在今年 2 月份发布了重大更新,即Vue 2.6.更新 ...
- c++指针全攻略
1.指针概念理解 int* p 定义一个指针(推荐使用这种写法int* ,理解上有好处) p 指针变量: * 间接运算符(访问符),代表访问该地址所指向的空 ...
- 1047--Remove All Adjacent Duplicates In String
public class RemoveAllAdjacentDuplicatesInString { /* 解法一:栈 */ public String removeDuplicates(String ...
- Linux使用svn在github上下载部分文件(单个文件夹)
1.安装svn sudo apt-get update sudo apt-get install subversion 2.输入命令 svn checkout (url) 这里url是github上要 ...
- Java多线程上下文切换
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10843676.html 一:什么是上下文切换 CPU处理任务时不是一直只处理一个,而是通过给每个线程分配CP ...
- sql server 如何在全库中查找数据在哪个表
1.查找字段在库中哪个表 如果要查找FName select a.name,b.name from syscolumns a inner join sysobjects b ...
- DFS_BFS(深度优先搜索 和 广度优先搜索)
package com.rao.graph; import java.util.LinkedList; /** * @author Srao * @className BFS_DFS * @date ...
- React的使用小规范----长期更新
用this.state控制组件显示,用this.props控制页面业务数据,用this.other保存其他需要的属性,如计时器setInterval的id
- LeetCode 896. Monotonic Array
原题链接在这里:https://leetcode.com/problems/monotonic-array/ 题目: An array is monotonic if it is either mon ...