我尝试为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中使用这种数组,因为这是添加新作业的最简单方法。
答案 0 :(得分:0)
我一发布我就脸红了。
println(service.JobToRun[0].Name)
所以原因是“ JobToRun是一个数组,而不是“名称”