如何使用未导出的字段序列化复杂接口?

tro*_*orl 4 serialization go gob

我需要序列化一些复杂的接口(template.Template).它有许多未被移植的领域,并且gob不想与它们一起工作.有什么建议?

PS Actualy,我试图将解析后的模板放到App Engine上的memcache中.

Ans*_*hen 5

简短的回答是,通常有一个未导出字段的原因 - template.Template例如,包含在解析过程中发生变化的信息 - 所以我建议不要自己序列化它们reflect.然而,最近添加了GobEncoderGobDecoder接口gob; 如果需要使用未导出的字段序列化复杂的结构,请鼓励包的作者实现这些接口.更好的是,自己实施(不应该很难template.Template)并贡献你的补丁.