【发布时间】:2018-07-01 09:19:40
【问题描述】:
我有一个“key1:value1; key2:value2”之类的字符串(key:value 模式的字符串由; 连接)。
现在我希望将此字符串解析为 Go 结构:
type CustomStruct struct {
KeyName1 string `name:"key1" somevalidation:"xxx"`
KeyName2 int `name:"key2" somevalidation:"yyy"`
}
在上面的例子中,struct标签定义了字符串中key的名称,并且可以为其对应的值提供一些验证(如果验证失败,它可以设置一个默认值)。例如,KeyName2 是一个int 值,所以我希望somevalidation 可以检查KeyName2 是否满足,比如说,大于30 小于等于100。
在另一个场景中,我可以为 key3:value3; key4:value4; 之类的字符串定义另一个结构 CustomStruct2
如何高效优雅地归档此类需求?
【问题讨论】:
-
@ThunderCat 我不知道它是否是众所周知的格式。我对字符串的看法是:
key:value模式的字符串由;连接。基本上字符串可以被认为是一个 map[string]string
标签: go