广告
返回顶部
首页 > 资讯 > 后端开发 > GO >go语言yaml转map、map遍历的实现
  • 737
分享到

go语言yaml转map、map遍历的实现

2024-04-02 19:04:59 737人浏览 泡泡鱼
摘要

yaml文件内容 apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: Mysql-snaps

yaml文件内容


apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: Mysql-snapshot
spec: 
  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遍历的实现的文章就介绍到这了,更多相关go语言yaml转map、map遍历内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: go语言yaml转map、map遍历的实现

本文链接: https://www.lsjlt.com/news/136484.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • go语言yaml转map、map遍历的实现
    yaml文件内容 apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: mysql-snaps...
    99+
    2022-11-12
  • Go遍历struct,map,slice的实现
    目录遍历结构体 遍历切片 遍历MapGolang json序列化(struct,int,map,slice)遍历结构体 如何实现遍历结构体字段? 好吧,言归正传!举个例子:...
    99+
    2022-11-12
  • go语言map与string的相互转换的实现
    一.map转string import ( "encoding/json" ) func MapToJson(param map[string]interface{}) ...
    99+
    2022-06-07
    map GO string
  • mybatis实现遍历Map的key和value
    目录mybatis 遍历Map的key和valuesql.xmljava代码foreach嵌套遍历Map的key和value具体做法:(Oracle数据库)使用内层循环中使用myba...
    99+
    2022-11-13
  • go语言中的json与map相互转换实现
    主要是引入 "encoding/json" 包;用到的也就是其中的两个函数json.Marshal和json.Unmarshal。 1、json.Marshal ...
    99+
    2022-11-11
  • Map实现遍历的方法有哪些
    Map实现遍历的方法有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Map获取键值Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对...
    99+
    2023-05-31
    map 遍历
  • [java] Map循环遍历的5种方法实现
    [java] Map循环遍历的5种方法实现 文章目录 一、方法一(推荐)二、方法二(推荐)三、方法三四、方法四五、方法五总结 一、方法一(推荐) 推荐使用此方法效率比较高 Map...
    99+
    2023-10-09
    java
  • Java实现Map遍历key-value的四种方法
    目录Map遍历key-value的四种方法1、构造HashMap,给hashMap添加元素2、方法一:先用keySet()取出所有key值,再取出对应value—&mda...
    99+
    2022-11-13
  • Java中Map循环遍历的五种方法实现
    目录1、创建一个Enum2、开始遍历方法一方法二方法三方法四方法五因为Map比较常用,所以今天来总结下Map取值比较常用的几种遍历方法。 1、创建一个Enum public enum...
    99+
    2022-11-13
  • Go语言怎么实现二叉树遍历
    这篇文章主要讲解了“Go语言怎么实现二叉树遍历”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言怎么实现二叉树遍历”吧!1. 二叉树的定义二叉树需满足的条件① 本身是有序树② 树中包含的...
    99+
    2023-06-30
  • Java项目中实现遍历Map的方法有哪些
    Java项目中实现遍历Map的方法有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言关于java中的map遍历有多种方法,从最早的Iterator,到java5支持的fo...
    99+
    2023-05-31
    java map 遍历
  • 详解Go语言如何实现二叉树遍历
    目录1. 二叉树的定义2. 前序遍历3. 中序遍历4. 后序遍历1. 二叉树的定义 二叉树需满足的条件 ① 本身是有序树 ② 树中包含的各个节点的长度不能超过2,即只能是0、1或者2...
    99+
    2022-11-13
  • GO语言创建钱包并遍历钱包(wallet)的实现代码
    基本知识 公钥加密算法使用的是成对的密钥:公钥和私钥,公钥可以公开,私钥不能被公开。比特币钱包实际上是一个密钥对,当你安装 一个钱包应用,或者是使用一个比特币客户端来生成一个新地址是...
    99+
    2022-11-12
  • C语言实现手写Map(全功能)的示例代码
    目录为啥需要Map结构主流Map结构数组+链表的Map结构hash函数创建Map集合扩容基数扩容Map集合给Map集合添加元素打印Map集合获取Map集合中的指定元素判断键是否存在判...
    99+
    2022-11-13
  • C语言二叉树的遍历方法怎么实现
    这篇文章主要介绍“C语言二叉树的遍历方法怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言二叉树的遍历方法怎么实现”文章能帮助大家解决问题。     在本算法...
    99+
    2023-06-26
  • C语言中如何实现二叉树的后序遍历
    小编给大家分享一下C语言中如何实现二叉树的后序遍历,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先我们从两个方面讲解二叉树的后序遍历(递归+迭代)一.二叉树的后序遍历.(递归)思想:首先我们从二叉树的根节点开始先遍历其左...
    99+
    2023-06-29
  • go语言string转结构体的实现
    在 Go 语言中,可以使用标准库中的 encoding/json 包将 JSON 格式的字符串转换为结构体。 假设有以下 JSON 字符串: { "name": "鸡哥", ...
    99+
    2023-03-19
    go语言string转结构体 go string 结构体
  • C语言实现手写Map(数组+链表+红黑树)的示例代码
    目录要求结构红黑树和链表转换策略hash使用要求 需要准备数组集合(List) 数据结构 需要准备单向链表(Linked) 数据结构 需要准备红黑树(Rbtree)数据结构 需要准备...
    99+
    2022-11-13
  • go语言int64整型转字符串的实现
    go语言中string(int)会把int当成UTF-8的Unicode值,转换成对应的字符,标准库strconv是专门用来实现基本数据类型和其字符串表示的相互转换。 package...
    99+
    2023-03-07
    go语言int64转字符串 go语言整型转字符串
  • C语言详解实现链式二叉树的遍历与相关接口
    目录前言一、二叉树的链式结构二、二叉树的遍历方式1.1 遍历方式的规则1.2 前序遍历1.3 中序遍历1.4 后序遍历1.5 层序遍历三、二叉树的相关接口实现3.1 二叉树节点个数3...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作