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

标签 go reflection

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

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

我知道我应该使用反射,对吗? :-).

最佳答案

你不能使用 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
}

关于go - 如何通过读取设置文件在 Golang 中动态创建结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49798411/

相关文章:

angularjs - 如果 URL 与 Go 中的任何模式都不匹配,如何提供文件?

arrays - 如何迭代两个 byte slice

windows - 如何在GO中实现跨平台文件锁定

logging - 戈朗 : How to capture panic and log this error to original log file?

java - 如何使用 httpclient 发送 url post

java - 使用泛型概括不同的实现

bash - 如何使用 Go 通过 SSH 发送终端转义序列?

scala - 获取包的所有类

matlab - 将 .mat 文件中的变量加载到不同名称的变量中

java - 在运行时获取数组类名的安全方法是什么?