go map %q输出原始字符串
说明
map:
字典、映射 key———value key:唯一、无序。不能是引用类型数据。
map 不能便用cap()
创建方式:
1. var m1 map[int]string ---不能存储数据
2. m2 := map[int]string ---能存储数据
3. m3 := make(map[int]string) ---默认len = 0
4.m4 := make(map[int]string, 10)
初始化:
var m map[int]string = map[int]string{1: "aaa", 2:"bbb"} 保证key彼此不重复
map的遍历:
遍历map:
for key值, value值:= range map {
}
for key值 :=range map {
}
判断map中key是否存在.
map[下标]运算:返回两个值,第一个表value的值,如果value不存在。nil
第二个表key是否存在的bool类型。存在true,不存在false
删除map:
delete(函数:参1: 待删除元素的map 参2: key值
map做函数参数和返回值,传引用.
代码:
package main
import "fmt"
func rangeMap(){
//遍历map %q 显示格式化前字符串的内容
var m8 map[int]string = map[int]string {1:"Luffy", 130:"Sanji", 1301:"Zoro"}
for k, v := range m8{
fmt.Printf( "key : %d --- va1ue : %q\n", k, v)
}
// range返回的key/ value 。省略value打印。
for _, K := range m8 {
fmt.Printf("key : %s \n", K)
}
}
func hasKey(){
//判断map中的key是否存在
var m9 map[int]string = map[int]string {1:"Luffy", 130:"Sanji", 1301:"Zoro"}
if v, has := m9[11]; !has {// M m9l下标]返回两个值,第一个是value,第二个是bool代表key是否存在。
fmt.Println( "false value=", v, "has=", has)
} else {
fmt.Println( " value=", v,"has=", has)
}
}
// map做函数参数, 返回值,传引用
func mapDelete(m map[int]string, key int) {
delete(m, key) //删除m中键值为key的map元素
}
func testMapDelete(){
m := map[int]string {1:"Luffy", 130:"Sanji", 1301:"Zoro"}
fmt.Println("before de1ete m :", m)
mapDelete(m, 130)
fmt.Println( "after delete m :",m)
}
func main(){
rangeMap()
hasKey()
testMapDelete()
}
/*
map的便用:
遍历map:
for key值, value值:= range map {
}
for key值 :=range map {
}
判断map中key是否存在.
map[下标]运算:返回两个值,第一个表value的值,如果value不存在。nil
第二个表key是否存在的bool类型。存在true,不存在false
删除map:
delete(函数:参1: 待删除元素的map 参2: key值
map做函数参数和返回值,传引用.
*/
输出
key : 1 --- va1ue : "Luffy"
key : 130 --- va1ue : "Sanji"
key : 1301 --- va1ue : "Zoro"
key : Luffy
key : Sanji
key : Zoro
false value= has= false
before de1ete m : map[1:Luffy 130:Sanji 1301:Zoro]
after delete m : map[1:Luffy 1301:Zoro]
写入自己的博客中才能记得长久
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2021-03-12 在虚拟机上搭建自己的 git 服务器并创建 git 仓库