如何通过读取设置文件在Golang中动态创建结构?

时间:2018-04-12 13:52:45

标签: go reflection

我想通过读取* .yaml文件和结构名称来创建结构,属性名称及其类型应该在设置文件中设置。

PERIOD: 1y
KEYSPACE: Lana
Tables:
  User:
    - UserId UUID
    - Gender String
    - Age Integer
    - Likes String
    - Income Integer
    - Children Integer

我知道我应该使用反射,是吗? : - 。)

1 个答案:

答案 0 :(得分:0)

您不能使用map[string]interface{}吗?

func Load(filename string) (map[string]interface{}, error) {
    data, err := ioutil.ReadFile(filename)
    if err != nil {
        return fmt.Errorf("error reading file, %s", err.Error())
    }
    var result map[string]interface{}
    err := yaml.Unmarshal(data, result)

    return result, err
}