go语言yaml转map、map遍历的实现
作者:lemom啊 发布时间:2024-05-25 15:19:52
标签:go语言,yaml,map,map遍历
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
来源:https://blog.csdn.net/qq_22143251/article/details/110430886


猜你喜欢
- 引言知乎上有个热门问题,Python 未来会成为大众办公常用编程工具吗?在编程世界里,Python已经是名副其实的网红了。曾经一个学汉语言的
- 准备工作我们需要把秒杀的商品加入购物车,因为脚本点击的是全选,所以不需要的商品要移出购物车。过程分析1.打开某宝网站;pq = webdri
- cupy我觉得可以理解为cuda for numpy,安装方式pip install cupy,假设import numpy as npim
- 地址:https://passport.bilibili.com/login左图事完整验证码图,右图是有缺口的验证码图  
- 现在正在搞三层开发,用ASP和VB6.0,但是现在苦于没有找到合适的方法来调试自己写的DLL文件,效率相当低。 &n
- 前言我使用goland开发,下面都是用goland做演示一、生成demo.a新建一个项目,目录如下demo.gopackage demoim
- 我在工作的时候,在测试环境下使用的数据库跟生产环境的数据库不一致,当我们的测试环境下的数据库完成测试准备更新到生产环境上的数据库时候,需要准
- 函数声明为:func Replace(s, old, new string, n int) string官方描述为:返回将s中前n个不重叠o
- 1. Mysql备份某个数据库的命令####################################################
- 1、Introduction之前写过2篇文章,分别是:Mysql主从同步的原理 Myql主从同步实战 基于此,我们再实
- 零基础学习Python的入手方向:1、首先你确定学习Python用来做什么方向,爬虫还是……;2、确定方向后,就按照你喜欢的方式找学习资料;
- 1. 正则表达式的应用在给用户发送消息时通常情况会有相同的消息模板,但其中部分信息跟用户相关,因此需要对消息模板中的变量部分进行替换。而对于
- PHP程序都要用MYSQL,如果没有MYSQL,就不能用它们.第一:配置数据库信息,改成自己所需的;第二:导入数据库;第三:安装wamp5
- 本文实例解析Python SqlAlchemy的使用方法,分享给大家供大家参考,具体内容如下1.初始化连接from sqlalchemy i
- 如下所示:#加载词典def load_dict_from_file(filepath): _dict = {} tr
- 这篇文章主要介绍了Vue子组件内的props对象里的default参数是如何定义Array、Object、或Function默认值的正确写法
- 1.collections模块collections模块自Python 2.4版本开始被引入,包含了dict、set、list、tuple以
- 无法打开用户默认数据库,登录失败,其原因是登录帐户的默认数据库被删除。 解决办
- 本文实例讲述了ThinkPHP5.0框架控制器继承基类和自定义类。分享给大家供大家参考,具体如下:继承系统控制器基类:<?phpnam
- 图像的全景拼接包括三大部分:特征点提取与匹配、图像配准、图像融合。1、基于SIFT的特征点的提取与匹配利用Sift提取图像的局部特征,在尺度