Yaml的数组-Golang

时间:2019-06-10 14:02:38

标签: arrays go multidimensional-array yaml

我尝试为go应用创建配置文件,该配置文件会循环执行某些作业。

我的.yaml文件如下所示(数组):

jobToRun:
  - name: This is my first job to run
    sqlToRun: select 1 from some_table
    someVariable: 1

  - name: Other job to run
    sqlToRun: select 2 from some_table
    someVariable: 2

我已经成功导入了YAML文件并创建了结构。


    type Service struct {
        JobToRun []struct {
            Name         string `yaml:"name"`
            SQLToRun     string `yaml:"SqlToRun"`
            SomeVariable int    `yaml:"someVariable"`
        } `yaml:"jobToRun"`
    }

但是我不知道如何将它们分配给变量。

我尝试了一些适用于Json array-s的东西,但是没有任何运气。

因此,我尝试将其打印到控制台时没有任何运气:

println(service.JobToRun.name[0])

在我尝试将该SQL分配给我的变量之前(如果它不是数组项,则可以使用。

var sqlQuery = service.JobToRun.name[0] 

这是我要完成的工作:

我从.yaml数组中获取Job参数并运行它。
我在YAML中使用这种数组,因为这是添加新作业的最简单方法。

1 个答案:

答案 0 :(得分:0)

我一发布我就脸红了。


println(service.JobToRun[0].Name)

所以原因是“ JobToRun是一个数组,而不是“名称”