0

我将在golang. 这里的例子。

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)
}

config调用函数后可以覆盖字段hcl.DecodeObject

但我将在调用之前覆盖该字段hcl.DecodeObject

有没有办法修改 HCL 树?

4

0 回答 0