将逗号分隔的值反序列化为struct

时间:2016-03-20 22:18:29

标签: serialization go comma

我们说我有一个这样的字符串:

  

key1 = val1,key2 = val2(依此类推)

我想将它反序列化为结构(我在代码中定义的类型),就像我们使用JSON或XML一样。 Ofc可以写一个解码器函数,但我认为它可能存在,因为编写自己的解串器可能需要一些时间,在做之前我认为可能有Go的标准库方式。

1 个答案:

答案 0 :(得分:1)

不知道图书馆要做你要问的事情。但是使用像这样的字符串很容易。如果我需要使用几种类型的结构,我会使用strings.Split(s,",")来创建一个key = value字符串的片段,然后strings.Split(ss," =")如果我想快速编写代码并且不需要高效,那么它们就会再次出现。然后通过switch语句运行键值并更新匹配的struct字段。

如果我希望它超高效,我会在switch语句周围写一个循环,将两个字节切片重置为每个后续键和值,而不是先打扰创建字符串片段。

另一方面,如果我想快速编写代码并使用多种类型的结构,我将字符串修改为合法的JSON,然后使用JSON Unmarshal()函数。编写起来会很快,json.Unmarshal()错误会告诉你是否错过了任何内容。