goland map学习-实践使用练习:判断存在及遍历

对于数据:

复制代码
type Person struct {
	Address string
	Age     int
	Job     string
	Name    string
}

type People map[string]Person

var per = People{
	"1": Person{
		Address: "1",
		Age:     1,
		Job:     "1",
		Name:    "1",
	},
	"2": Person{
		Address: "2",
		Age:     2,
		Job:     "2",
		Name:    "2",
	},
}

对于map-struct式的数据来做一些测试实验:

1,判断map的key是否存在,直接使用如下代码段来检查:

复制代码
	if _, exist :=,map_obj[key]; exist {
	    ...
	} 

2,map数据遍历通常使用for range来遍历其中每个key-val

复制代码
for key, val := range map_obj{
		...
	}

或者只取key值:

复制代码
	for key := range map_obj {
		fmt.Println(key)
	}

3,对于struct数据格式化输出:

复制代码
       per_json, _ := json.MarshalIndent(per, "", "  ")
		fmt.Println(string(per_json))

对于打印log查看很友好

相关推荐
ttwuai4 小时前
Go开源后台管理系统推荐:怎么按技术栈和边界比较4个官方仓库?
golang·gin
codeejun5 小时前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
Achou.Wang6 小时前
k8s中nginx worker process自动设置
后端·golang
指尖的爷1 天前
ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册
ubuntu·架构·golang
名字还没想好☜1 天前
Go 实现指数退避重试:context 取消、抖动 jitter 与什么时候别重试
后端·golang·go
Casbin开源社区1 天前
OpenAgent 详解:单二进制自托管 AI Agent 平台,30+ 模型接入、RAG 知识库、MCP 工具调用与 Casbin 工具权限
人工智能·golang·开源
五彩小白2 天前
GO语言装饰器语法
golang
金金计较.2 天前
Go语言-4
开发语言·golang
名字还没想好☜3 天前
Go context.AfterFunc 实战(Go 1.21):context 一取消就自动跑清理,告别手写 goroutine 监听 Done
后端·golang·go
web守墓人3 天前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang