在golang设置HCL字段
我将在在golang设置HCL字段,go,hcl,Go,Hcl,我将在golang中设置HCL字段。 这里是一个例子 package main import ( "log" "os" "github.com/hashicorp/hcl" ) const ( EXAMPLE_HCL = `config = "/etc/test.conf"` ) type HCLConfig struct { ConfigFile string `hcl:"config"` } func main()
golang
中设置HCL字段。
这里是一个例子
package main
import (
"log"
"os"
"github.com/hashicorp/hcl"
)
const (
EXAMPLE_HCL = `config = "/etc/test.conf"`
)
type HCLConfig struct {
ConfigFile string `hcl:"config"`
}
func main() {
cfg := &HCLConfig{}
hclTree, err := hcl.Parse(EXAMPLE_HCL)
if err != nil {
os.Exit(1)
}
// how to modify tree to override config field
if err := hcl.DecodeObject(&cfg, hclTree); err != nil {
os.Exit(1)
}
log.Printf("%+v\n", cfg)
}
调用函数hcl.DecodeObject
后,可以覆盖config
字段
但在调用hcl.DecodeObject
之前,我将覆盖该字段
有什么方法可以修改HCL树吗?有什么特别的理由不只是在解码后设置字段吗?是的,我有一些理由。例如,在将HCL选项传递到实际结构字段之前,我将检查它们的有效性