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++基础--引用做函数参数
引用,简单粗暴的解释叫做别名,简单粗暴的例子就是,我是熊叫大雄,但是很多时候别人不叫我熊叫大雄,会叫我大雄,粤语地区朋友爱叫我阿雄,有人叫我雄,所以,熊叫大雄这个变量的值是我,雄.大雄.阿雄是熊叫大雄 ...
随机推荐
- install vscode on centos
1.down load package from https://code.visualstudio.com/docs/?dv=linux64 2.tar zxf code-stable-code_1 ...
- PHP 博客收集
https://lvwenhan.com/ www.chrisyue.com https://silex.symfony.com/ https://www.chrisyue.com/translati ...
- Mermaid 学习
基础 在 VS code 中安装插件 Markdown Preview Mermaid Support,则便可支持 Mermaid 流程图 flowchart graph LR; A-->B; ...
- eclipse 设置文本模板
1.开打点击Windows选择Prederences选项卡 2.弹出窗口,选择Java选项卡下的Code Style选项卡 3.选择Code Templates选项卡 打开Code选择,选择New J ...
- merge into issue
ORA-30926: unable to get a stable set of rows in the source tables 一.经检查,这个错误是由于数据来源表(即语句中,using后面的f ...
- Linux安装系统选择 日报 18/06/23
Linux安装系统选择 Centos7 程序体积7个G,如果是学习伊始, 注意不要选择那个体积小的,因为我装过之后进去发现这个wifie还要自己进行一些烈的命令才能连接成功.很麻烦的. 安装比较顺利但 ...
- HTML基础-DAY1
HTML基础 Web的本质就是利用浏览器访问socket服务端,socket服务端收到请求回复数据提供给浏览器进行渲染显示. import socket def main(): sock = sock ...
- python io 模块之 open() 方法(好久没写博客了)
io.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True),打开file ...
- Redis 服务器命令
1.BGREWRITEAOF 异步执行一个 AOF(AppendOnly File) 文件重写操作 2.BGSAVE 在后台异步保存当前数据库的数据到磁盘 3.CLIENT KILL [ip:port ...
- 【BZOJ 2724】 2724: [Violet 6]蒲公英 (区间众数不带修改版本)
2724: [Violet 6]蒲公英 Time Limit: 40 Sec Memory Limit: 512 MBSubmit: 1908 Solved: 678 Description In ...