1、map赋值

示例:

package main //必须有个main包

import "fmt"

func main() {
m1 := map[int]string{1: "mike", 2: "yoyo"}
//赋值,如果已经存在的key值,修改内容
fmt.Println("m1 = ", m1)
m1[1] = "c++"
m1[3] = "go" //追加,map底层自动扩容,和append类似
fmt.Println("m1 = ", m1)
}

执行结果:

m1 =  map[2:yoyo 1:mike]
m1 = map[1:c++ 2:yoyo 3:go]

  

2、map遍历

示例1:

package main //必须有个main包

import "fmt"

func main() {
m := map[int]string{1: "mike", 2: "yoyo", 3: "go"} //第一个返回值为key, 第二个返回值为value, 遍历结果是无序的
for key, value := range m {
fmt.Printf("%d =======> %s\n", key, value)
}
}

执行结果:

3 =======> go
1 =======> mike
2 =======> yoyo

3、map 判断一个key值是否存在

示例2:

package main //必须有个main包

import "fmt"

func main() {
m := map[int]string{1: "mike", 2: "yoyo", 3: "go"} //第一个返回值为key, 第二个返回值为value, 遍历结果是无序的
for key, value := range m {
fmt.Printf("%d =======> %s\n", key, value)
} //如何判断一个key值是否存在
//第一个返回值为key所对应的value, 第二个返回值为key是否存在的条件,存在ok为true
//value, ok := m[1] //已经存在的value
value, ok := m[0] //key不存在
if ok == true {
fmt.Println("m[1] = ", value)
} else {
fmt.Println("key不存在")
}
}

执行结果:

1 =======> mike
2 =======> yoyo
3 =======> go
key不存在

  

4、map删除

示例4:

package main //必须有个main包

import "fmt"

func main() {
m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
fmt.Println("m = ", m) delete(m, 1) //删除key为1的内容
fmt.Println("m = ", m)
}

执行结果:

m =  map[2:yoyo 3:go 1:mike]
m = map[2:yoyo 3:go]

5、map做函数参数

示例5:

package main //必须有个main包

import "fmt"

//{1: "mike", 2: "yoyo", 3: "go"}
func test(m map[int]string) {
delete(m, 1) //删除1个 func main() {
m := map[int]string{1: "mike", 2: "yoyo", 3: "go"}
fmt.Println("m = ", m) test(m) //在函数内部删除某个key fmt.Println("m = ", m)
}

执行结果:

m =  map[1:mike 2:yoyo 3:go]
m = map[2:yoyo 3:go]

  

go语言基础之map赋值、遍历、删除 、做函数参数的更多相关文章

  1. Go语言基础之map

    Go语言基础之map Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现. map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能 ...

  2. GO学习-(11) Go语言基础之map

    Go语言基础之map Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现. map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能 ...

  3. C语言 数组做函数参数不传数组个数的遍历方法

    //数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void ...

  4. 3203 数组做函数参数----排序函数--C语言版

    3203: 数组做函数参数----排序函数--C语言版 时间限制: 1 Sec  内存限制: 128 MB提交: 253  解决: 151[提交][状态][讨论版][命题人:smallgyy] 题目描 ...

  5. C语言 数组做函数参数退化为指针的技术推演

    //数组做函数参数退化为指针的技术推演 #include<stdio.h> #include<stdlib.h> #include<string.h> //一维数组 ...

  6. 3205: 数组做函数参数--数组元素求和1--C语言

    3205: 数组做函数参数--数组元素求和1--C语言 时间限制: 1 Sec  内存限制: 128 MB提交: 178  解决: 139[提交][状态][讨论版][命题人:smallgyy] 题目描 ...

  7. 3204: 数组做函数参数--排序函数2--C语言

    3204: 数组做函数参数--排序函数2--C语言 时间限制: 1 Sec  内存限制: 128 MB提交: 211  解决: 143[提交][状态][讨论版][命题人:smallgyy] 题目描述 ...

  8. 深入理解C语言-结构体做函数参数

    结构体做函数参数,在C语言中属于常见现象,此时为了内存考虑,不传递结构体,而是传递结构体的地址 结构体定义 struct Man { char name[64]; int age; }; 结构体可以与 ...

  9. C++基础--引用做函数参数

    引用,简单粗暴的解释叫做别名,简单粗暴的例子就是,我是熊叫大雄,但是很多时候别人不叫我熊叫大雄,会叫我大雄,粤语地区朋友爱叫我阿雄,有人叫我雄,所以,熊叫大雄这个变量的值是我,雄.大雄.阿雄是熊叫大雄 ...

随机推荐

  1. key Value

    key 存值的编号 value 存放的数据 看来key 和value 可以为null~   public class Dog { private int id; private String name ...

  2. 网络数据修改工具netsed

    网络数据修改工具netsed   通过修改网络数据,可以绕过软件和防火墙的限制,达到特定的目的.Kali Linux提供一个简易数据修改工具netsed.该工具支持对TCP和UDP的数据进行修改.渗透 ...

  3. 装部署VMware vSphere 5.5文档 (6-2) 为IBM x3850 X5服务器安装配置VMware ESXi

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  4. python中%r和%s的区别

    %r用rper()方法处理对象 %s用str()方法处理对象 有些情况下,两者处理的结果是一样的,比如说处理int型对象. 例一: print "I am %d years old.&quo ...

  5. android view surfaceView GLSurfaceView

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 表面视图 SurfaceView 是 视图 的子类, 刷新界面速度比 视图 块, 因为它 ...

  6. 【构造】Codeforces Round #480 (Div. 2) B. Marlin

    题意:给你一个4*n的网格,保证n为奇数,让你在其中放k个障碍物,不能放在边界的格子上,使得从左上角走到右下角的最短路的方案数,恰好等于从左下角走到右上角的最短路的方案数. k为偶数时,以纵向为对称轴 ...

  7. lnmp环境一键搭建及卸载

    系统需求: CentOS/Debian/Ubuntu Linux系统 需要2GB以上硬盘剩余空间 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统) VPS或服务器必须已经 ...

  8. hdu 4463 第37届ACM/ICPC杭州赛区K题 最小生成树

    题意:给坐标系上的一些点,其中有两个点已经连了一条边,求最小生成树的值 将已连接的两点权值置为0,这样一定能加入最小生成树里 最后的结果加上这两点的距离即为所求 #include<cstdio& ...

  9. pygame系列_pygame安装

    在接下来的blog中,会有一系列的文章来介绍关于pygame的内容,所以把标题设置为pygame系列 在这篇blog中,主要描述一下我们怎样来安装pygame 可能很多人像我一样,发现了pygame是 ...

  10. poj 1466 Girls and Boys 二分图的最大匹配

    Girls and Boys Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://poj.org/problem?id=1466 Descripti ...