map 基本使用
package main import "fmt" func main(){
//定义一个map变量,类型为map[int]string,如果使用map一定初始化,make分配空间
var m1 map[int]string = make(map[int]string)
fmt.Println("m1=",m1)
m1[]= "jake"
fmt.Println("m1=",m1) m2 := make(map[int]string) //make方式创建然后自动推导类型
fmt.Println("len=",len(m2))
m2[] = "mike"
fmt.Println("m2=",m2)
fmt.Println("len=",len(m2)) //map 先给map指定一个可以容纳长度,一旦超过这个长度 从新分配底层空间
//
m3 := make(map[int]string,)
m3[]="mile"
m3[]="jack"
m3[]="go"
fmt.Println("m3=",m3)
fmt.Println("len=",len(m3)) //map另一种初始化并且赋值
m4 := map[int]string{:"mike",:"jack",:"go"}
fmt.Println("m4=",m4)
}
package main import "fmt" func main(){
m1 := map[int]string{:"mike",:"jack"}
fmt.Println("m1=",m1) m1[]="marry" //如果key存在,修改内容
m1[]="tom" //如果没有key 追加内容,切片append
fmt.Println("m1=",m1)
}
package main import "fmt" func main(){
m := map[int]string{:"mike",:"jack",:"tom"}
//第一个返回值为key 第二个返回值为value 遍历结构是无序的
for key,value :=range m{
fmt.Printf("%d======>%s\n",key,value)
} //如何判断一个key是否存在,
//第一个返回值为key的所对应的value,第二个返回值为key是否存在的条件,如果存在ok为true
//value,ok := m[1]
if value,ok := m[];ok == true{
fmt.Println("m[1]=",value)
}else {
fmt.Println("key 不存在")
} delete(m,) //删除key为2的内容
fmt.Println("m=",m) }
package main import "fmt" func test(m map[int]string) { //map 和我们切片一样 他们是引用类型
delete(m,)
} func main(){
m :=map[int]string{:"jack",:"mike",:"marry"}
fmt.Println("m=",m) test(m) fmt.Println("m=",m) }
map 基本使用的更多相关文章
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- 多用多学之Java中的Set,List,Map
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
- MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析
在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...
- MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程
在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...
- MapReduce剖析笔记之五:Map与Reduce任务分配过程
在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程.中间留了一个问题,就是任务到底是怎么分配的.任务的分配自然是由JobTracker做出来的,具体 ...
- MapReduce剖析笔记之三:Job的Map/Reduce Task初始化
上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列 ...
随机推荐
- LEETCODE 1254 统计封闭岛屿的数目 Number of Closed Islands
地址 https://leetcode-cn.com/contest/weekly-contest-162/problems/number-of-closed-islands/ 有一个二维矩阵 gri ...
- 【Oracle】常用的SQL语句
抄自:https://www.cnblogs.com/qiu18359243869/p/9474515.html 提示:dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里 ...
- NOIP 2016 组合数问题
洛谷 P2822 组合数问题 洛谷传送门 JDOJ 3139: [NOIP2016]组合数问题 D2 T1 JDOJ传送门 Description 组合数Cnm表示的是从n个物品中选出m个物品的方案数 ...
- 改编《OI抄》
最近经历的事情比较多,网上常常流传着<锦鲤抄>修改版,于是就再修改了修改,就能唱起来了. 算是一种情怀吧. 请欣赏: OI抄 作词:某些dar佬 FYHSSGSS ssdfzhyf 作曲: ...
- Python 相对路径和绝对路径--python实战(九)
一 背景信息 最近在运行python程序的过程中,无意遇到了这个一个问题,在同事那边一直执行ok的程序,到我这里怎么都有个错误,当初报的错误是这样的: FileNotFoundError: [Errn ...
- 源码学习之Spring (系统架构简单解析)
Spring Framework 系统架构总览图 Spring Framework的模块依赖关系图 Spring Framework各个模块功能说明 Spring核心模块 模块名称 主要功能 Spri ...
- IntelliJ IDEA代码常用的快捷键(自查)
IntelliJ IDEA代码常用的快捷键有: Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O ...
- 史上最全的Java命名规范[转]
每个公司都有不同的标准,目的是为了保持统一,减少沟通成本,提升团队研发效能.所以本文中是笔者结合阿里巴巴开发规范,以及工作中的见闻针对Java领域相关命名进行整理和总结,仅供参考. 一.Java中的命 ...
- Python中model转dict
问题 在query出来的行信息object中有一个dict变量,这个变量存储了字典信息 for u in session.query(User).all(): print u.__dict__ 但是这 ...
- C#上手练习6(方法语句1)
方法是将完成同一功能的内容放到一起,方便书写和调用的一种方式,也体现了面向对象语言中封装的特性. 定义方法的语法形式如下. 访问修饰符 修饰符 返回值类型 方法名(参数列表){ ...