考虑这两个XML文档
<a>
<b nil="true"></b>
</a>
Run Code Online (Sandbox Code Playgroud)
和
<a>
<b type="integer">1</b>
</a>
Run Code Online (Sandbox Code Playgroud)
如何在转到b
类型的struct字段中正确解组此XML int
,而不会strconv.ParseInt: parsing "": invalid syntax
在第一种情况下产生错误?
omitempty
在这种情况下似乎不起作用.
omitempty 标签仅受到 Marshal 的尊重,而不是 Unmarshal 的尊重。
如果 int 值不是实际的 int,则解组错误。
相反,将 B 更改为字符串。然后,使用 strconv 包将 B 转换为 int。如果出错,则将其设置为 0。
试试这个片段: http: //play.golang.org/p/1zqmlmIQDB
归档时间: |
|
查看次数: |
1063 次 |
最近记录: |