go语言基础之map赋值、遍历、删除 、做函数参数
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赋值、遍历、删除 、做函数参数的更多相关文章
- Go语言基础之map
Go语言基础之map Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现. map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能 ...
- GO学习-(11) Go语言基础之map
Go语言基础之map Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现. map map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能 ...
- C语言 数组做函数参数不传数组个数的遍历方法
//数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void ...
- 3203 数组做函数参数----排序函数--C语言版
3203: 数组做函数参数----排序函数--C语言版 时间限制: 1 Sec 内存限制: 128 MB提交: 253 解决: 151[提交][状态][讨论版][命题人:smallgyy] 题目描 ...
- C语言 数组做函数参数退化为指针的技术推演
//数组做函数参数退化为指针的技术推演 #include<stdio.h> #include<stdlib.h> #include<string.h> //一维数组 ...
- 3205: 数组做函数参数--数组元素求和1--C语言
3205: 数组做函数参数--数组元素求和1--C语言 时间限制: 1 Sec 内存限制: 128 MB提交: 178 解决: 139[提交][状态][讨论版][命题人:smallgyy] 题目描 ...
- 3204: 数组做函数参数--排序函数2--C语言
3204: 数组做函数参数--排序函数2--C语言 时间限制: 1 Sec 内存限制: 128 MB提交: 211 解决: 143[提交][状态][讨论版][命题人:smallgyy] 题目描述 ...
- 深入理解C语言-结构体做函数参数
结构体做函数参数,在C语言中属于常见现象,此时为了内存考虑,不传递结构体,而是传递结构体的地址 结构体定义 struct Man { char name[64]; int age; }; 结构体可以与 ...
- C++基础--引用做函数参数
引用,简单粗暴的解释叫做别名,简单粗暴的例子就是,我是熊叫大雄,但是很多时候别人不叫我熊叫大雄,会叫我大雄,粤语地区朋友爱叫我阿雄,有人叫我雄,所以,熊叫大雄这个变量的值是我,雄.大雄.阿雄是熊叫大雄 ...
随机推荐
- Spark入门3(累加器和广播变量)
一.概要 通常情况下,当向Spark操作传递一个函数时,它会在一个远程集群节点上执行,它会使用函数中所有变量的副本.这些变量被复制到所有的机器上,远程机器上并没有被更新的变量会向驱动程序回传.在任务之 ...
- CSUOJ 1781 阶乘除法
Description 输入两个正整数 n, m,输出 n!/m!,其中阶乘定义为 n!= 1*2*3*...*n (n>=1). 比如,若 n=6, m=3,则 n!/m!=6!/3!=720 ...
- JAVAEE——宜立方商城13:订单系统实现、订单生成、Mycat数据库分片
1. 学习计划 1.订单系统实现 2.订单生成 3.Mycat数据库分片 2. 订单系统 2.1. 功能分析 1.在购物车页面点击“去结算”按钮,跳转到订单确认页面 a) 必须要求用户登录 b) 使用 ...
- [ 原创 ]Centos 7.0下安装 Tomcat8.5.15
Tomcat下载地址:http://tomcat.apache.org/download-80.cgi#8.5.15 上传到文件夹 并解压缩 出现问题: 解决方法: http://blog.csdn. ...
- 浅谈期望的线性性(可加性)【CodeForces280c】【bzoj3036】【bzoj3143】
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=63399955 向大(hei)佬(e)势力学(di ...
- VC6配置sqlite数据库
SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成,步骤如下: 1.下载DLL ...
- C#设计模式泛型注入
TSFac注入方式: 泛型接口工厂: public class SFac<TInterface, TClass> where TInterface : class where TClass ...
- 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)完美支持。
WAMPServer可以让开发者在Windows系统下快速搭建WAMP环境,它支持多版本的Apache.MySQL.PHP之间的相互切换,互不影响,对于PHPer开发者来讲极为方便快速. 以下是在WA ...
- mac下git+maven+jenkins自动打包发布
随着springboot+springcloud(dubbo)越来越多人使用,流行的微服务的概念越来越深入人心.分布式部署越来越复杂,给手动发布带来很大工作量.为了方便前期测试和后期线上部署更新,可使 ...
- CentOS6安装redmine
Author: JinDate: 20140827System: CentOS release 6.5 (Final) 参考:http://www.redmine.org/projects/redmi ...