千家信息网

go语言如何实现yaml转map、map遍历

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要为大家展示了"go语言如何实现yaml转map、map遍历",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"go语言如何实现yaml转map、ma
千家信息网最后更新 2025年11月08日go语言如何实现yaml转map、map遍历

这篇文章主要为大家展示了"go语言如何实现yaml转map、map遍历",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"go语言如何实现yaml转map、map遍历"这篇文章吧。

yaml文件内容

apiVersion: policy/v1beta1kind: PodSecurityPolicymetadata:  name: mysql-snapshotspec:   privileged: false  allowPrivilegeEscalation: false  volumes:  - "*"  hostNetwork: false  hostIPC: false  hostPID: false  runAsUser:    rule: RunAsAny  seLinux:    rule: RunAsAny  supplementalGroups:    rule: RunAsAny  fsGroup:    rule: RunAsAny

示例代码:实现了base64 编解码、yaml转map、以及map遍历

func main() {f, err := os.Open("cmd/test.yaml") if err != nil {  log.Fatalln(err)  return } input, _ := ioutil.ReadAll(f) // base64 编码 encodeString := base64.StdEncoding.EncodeToString(input)fmt.Println(encodeString)// base64 解码 decodeBytes, err := base64.StdEncoding.DecodeString(encodeString) if err != nil {  log.Fatalln(err) }//yaml文件内容转换成map[interface{}]interface{}) resultMap := make(map[interface{}]interface{}) if err := yaml.Unmarshal(decodeBytes, &resultMap); err != nil {  // error handling  log.Fatalln(err) }// 遍历map ,此处取metadata.name值 for key, value := range resultMap {  switch key := key.(type) {  case string:   if key == "metadata" {    switch value := value.(type) {    case string:    case map[interface{}]interface{}:     for k, v := range value {      switch k.(type) {      case string:        if k == "name" {         fmt.Println("value=", v)        }      }     }    }   }  } }}

结果

encodeString = "YXBpVmVyc2lvbjogcG9saWN5L3YxYmV0YTEKa2luZDogUG9kU2VjdXJpdHlQb2xpY3kKbWV0YWRhdGE6CiAgbmFtZTogbXlzcWwtc25hcHNob3QKc3BlYzogCiAgcHJpdmlsZWdlZDogZmFsc2UKICBhbGxvd1ByaXZpbGVnZUVzY2FsYXRpb246IGZhbHNlCiAgdm9sdW1lczoKICAtICIqIgogIGhvc3ROZXR3b3JrOiBmYWxzZQogIGhvc3RJUEM6IGZhbHNlCiAgaG9zdFBJRDogZmFsc2UKICBydW5Bc1VzZXI6CiAgICBydWxlOiBSdW5Bc0FueQogIHNlTGludXg6CiAgICBydWxlOiBSdW5Bc0FueQogIHN1cHBsZW1lbnRhbEdyb3VwczoKICAgIHJ1bGU6IFJ1bkFzQW55CiAgZnNHcm91cDoKICAgIHJ1bGU6IFJ1bkFzQW55Cg=="

value=mysql-snapshot

以上是"go语言如何实现yaml转map、map遍历"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内容 语言 篇文章 文件 学习 帮助 代码 易懂 更多 条理 知识 示例 结果 编带 编码 行业 资讯 资讯频道 频道 k. 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 nodejs静态服务器 淄川纺织软件开发服务 深圳市正峰软件开发有限公司 网络技术 暖场视频 瀚高数据库成功案例 银行数据库的数据安全吗 打印服务器未开启是什么意思 网络安全防护ddos 服务器维护品质保证 速特我的世界服务器 嘉兴勾欧网络技术有限公司 北京玖易创新网络技术有限公司 数据库简述数据与信息的区别 维护网络安全的具体行动 pdu服务器专用电源厂家有哪些 一个稳定的服务器 软件开发为啥都要求本科以上学历 我的世界星河斗罗服务器QQ 事业单位 软件开发招聘信息 中国网络安全百强企业 数据库安全测试的方法 违法网络安全法的规定给他人 开传奇如何选择服务器配置 AG视讯软件开发 软件开发互助盘 乌鲁木齐未成年游戏软件开发 如何查看数据库多大 高端人才软件开发综艺 苏州直播软件开发多少钱 哪个城市好找软件开发工作
0