Если тип относится к другому пакету (например, шаблону), этого нельзя сделать ни с одной из текущих библиотек сериализации для Go (gob
, json
, bson и т. Д.). Также не следует это делать, поскольку поля не экспортируются.
Однако, если вам действительно нужно, вы можете написать свой собственный сериализатор, используя пакет reflect
, в частности Value.Field()
и друзей, чтобы получить неэкспортированные поля. Тогда вам просто нужно сохранить их так, чтобы потом можно было их декодировать.