Golang Viper GetSliceString未解析yml文件

Golang Viper GetSliceString未解析yml文件,go,yaml,viper-go,Go,Yaml,Viper Go,我使用的是从题目中推断出来的GoLang和Viper。My element.yml文件与试图解析它的文件位于同一目录中,它能够获取字符串和整数,但由于任何原因,无法使用GetStringSlice()方法获取字符串片段。有人知道我做错了什么吗?我在验证器中运行了我的yml,确认一切正常。代码如下: func GetElementString(s string) string { //works vi := viper.New() vi.SetConfigFile("e

我使用的是从题目中推断出来的GoLang和Viper。My element.yml文件与试图解析它的文件位于同一目录中,它能够获取字符串和整数,但由于任何原因,无法使用GetStringSlice()方法获取字符串片段。有人知道我做错了什么吗?我在验证器中运行了我的yml,确认一切正常。代码如下:

func GetElementString(s string) string {  //works
    vi := viper.New()
    vi.SetConfigFile("element.yml")
    vi.ReadInConfig()
    return vi.GetString(s)
}

func GetElementInt(s string) int {  //works
    vi := viper.New()
    vi.SetConfigFile("element.yml")
    vi.ReadInConfig()
    return vi.GetInt(s)
}

func GetElementSliceString(s string) []string { //does not work
    vi := viper.New()
    vi.SetConfigFile("element.yml")
    vi.ReadInConfig()
    return vi.GetStringSlice(s)
}
element.yml

key: "value"
urls: 
  - "https://twitter.com/elonmusk"
  - "https://twitter.com/elonmusk/with_replies"
  - "https://twitter.com/elonmusk/likes"

我编写的驱动方法的测试适用于整数和字符串,但不适用于字符串片段。我做错了什么???

我在我的机器上运行这个没有问题。
我建议您尝试捕获读取文件中的错误,看看这是否有帮助。
如果需要,还可以提供文件路径

func GetElementSliceString(s string) []string {
    vi := viper.New()
    vi.SetConfigFile("element.yml")
    vi.AddConfigPath("./")          // Path here
    err := vi.ReadInConfig()        // catch error while reading the configs
    if err != nil {
        panic(err)
    }
    return vi.GetStringSlice(s)
}

你发现了什么。这似乎是某种目录问题。添加配置路径帮助很大