gpt4 book ai didi

go - 如何将 yaml 键映射到 golang 中的结构?

转载 作者:IT王子 更新时间:2023-10-29 02:21:12 25 4
gpt4 key购买 nike

我正在寻找可以通过 yaml 文件进行解析的 go 脚本。我使用以下内容创建了一个测试 yaml 文件:

    Dog:
- name: "Dog"
- secrets:
username: "Shiba"
password: "inu"
color: "yellow"
Cat:
- name: "Cat"
- secrets:
words: "meow"
color: "black"

在 go 中到结构的映射是什么样的?

我尝试过:

            package main

import (
"fmt"
"log"

"github.com/spf13/viper"
)

type Animal struct {
Animal []string
Name string
Secrets []map[string]string
}

func main() {
viper.SetConfigName("demo")
viper.AddConfigPath(".")
viper.SetConfigType("yaml")

err := viper.ReadInConfig()

if err != nil {
log.Fatal(err)
}

var animal Animal
err = viper.Unmarshal(&animal)
if err != nil {
log.Fatal(err)
}

fmt.Println(animal.Name)
}

但没有返回任何内容

任何帮助将不胜感激

谢谢

最佳答案

您应该遍历最上面的 yml 键 ["Dog", "Cat"],然后将其放入结构中。如果你把它放在你的配置中,它会输出动物的名字:

name: "Dog"

关于go - 如何将 yaml 键映射到 golang 中的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com