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. thinkphp 5.0如何实现自定义404(异常处理)页面

    404页面是客户端在浏览网页时,由于服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面.404承载着用户体验与SEO优化的重任.404页面通常为用户访问了网站上不存在或已删除的页面, ...

  2. ubuntu 安装 theano

    参考博客: http://www.cnblogs.com/anyview/p/5025704.html 1. 安装gfortran, numpy, scipy, sklearn, blas, atla ...

  3. matplotlib 中文显示 的问题

    第一种方法 from pylab import mpl import numpy as np mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 ...

  4. Little Elephant and Array 线段树

    题目:http://codeforces.com/problemset/problem/220/B 题意 给定一组数据,多次询问区间内某数字出现次数与该数字数值相同的数的个数 思路 一看到区间查询,就 ...

  5. ASP.NET MVC 提高运行速度的几种性能优化方法

    主要介绍ASP.NETMVC 应用提速的六种方法,因为没有人喜欢等待,所以介绍几种常用的优化方法. 大家可能会遇到排队等待,遇到红灯要等待,开个网页要等待,等等等. 理所当然,没有人喜欢等待网页慢吞吞 ...

  6. 机器学习之路: tensorflow 自定义 损失函数

    git: https://github.com/linyi0604/MachineLearning/tree/master/07_tensorflow/ import tensorflow as tf ...

  7. BZOJ 4213 贪吃蛇 上下界费用流 网络流

    https://darkbzoj.cf/problem/4213 https://www.cnblogs.com/DaD3zZ-Beyonder/p/5733326.html 题目描述 dbzoj又崩 ...

  8. DP Training(Updating)

    感觉前面做了那么多$dp$全是自己想的还是太少啊…… 好像在LZT的博客上看到了不错的资源?赶紧开坑,以一句话题解为主 Codeforces 419B 第一题就开始盗图 由于只有一个交点,手玩一下发现 ...

  9. bzoj 4017 子序列和的异或以及异或的和

    位运算很好的一个性质是可以单独每一位考虑..... 题解请看:http://blog.csdn.net/skywalkert/article/details/45401245 对于异或的和,先枚举位, ...

  10. bzoj 1176

    收获: 1.min, max, sum, 属于判定,等询问是”对象对答案贡献独立“,即不需要其他对象就了能更新答案,并保证只要所有对象更新过答案,那么该答案就是正确的.大概这就是所谓的”修改独立“. ...