go语言yaml转map、map遍历的实现
作者:lemom啊 时间:2024-05-25 15:19:52
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
标签:go语言,yaml,map,map遍历
0
投稿
猜你喜欢
在ASP.NET 2.0中操作数据之五十三:在Data Web控件显示二进制数据
2023-07-21 05:18:32
IntelliJ IDEA卡死,如何优化内存
2023-07-04 12:10:27
python中requests库session对象的妙用详解
2021-10-30 14:42:58
从基础开始建立一个JS代码库第1/2页
2024-04-16 10:40:59
python实现自动登录
2023-10-20 05:11:46
MySQL定时备份数据库操作示例
2024-01-13 09:34:24
详解python中的装饰器
2023-02-20 10:33:36
设计可以量化吗?
2009-06-12 12:12:00
老版本PHP转义Json里的特殊字符的函数
2023-11-06 02:32:18
Go中的应用配置管理详解
2023-06-21 00:40:55
python 使用值来排序一个字典的方法
2022-02-05 00:25:05
MySQL全文索引实现简单版搜索引擎实例代码
2024-01-25 20:30:19
Yii2 rbac权限控制操作步骤实例教程
2024-05-22 10:02:18
Python OpenCV绘制各类几何图形详解
2023-02-04 18:27:01
深入浅析Python中的迭代器
2021-02-20 03:36:43
基于python+selenium的二次封装的实现
2023-02-19 04:47:16
Mysql误操作后利用binlog2sql快速回滚的方法详解
2024-01-23 19:00:31
Python纯代码通过神经网络实现线性回归的拟合方式
2022-07-12 23:54:59
python-Web-flask-视图内容和模板知识点西宁街
2021-03-10 22:21:15
Mysql数据库使用concat函数执行SQL注入查询
2024-01-18 04:55:35