Thanks Jason for recommending the above package. However, it seems to cover 
only basic types and lack the ability to handle `struct`s.

Also, thanks for pointing out the important issue of versioning. I agree 
versioning is extremely critical, and I wonder why the Rust community never 
thought of that.
Bincode and Borsh <https://borsh.io/> are used by 99% of Rust programmers 
and yet both don't seem to do versioning.

On Sunday, June 21, 2026 at 1:33:30 PM UTC+8 Jason E. Aten wrote:

> There is 
> https://github.com/diem/serde-reflection-diem/tree/main/serde-generate/runtime/golang/bincode
> but I would strongly recommend using a serialization format that allows 
> for struct field versioning instead. 
>
> Otherwise the moment you need to change your data structure, all other 
> already stored data becomes
> lost. Google needed field versioning so instead of using classic Sun XDR 
> RPC, they created protocol buffers.
> This let them do rolling cluster upgrades, as just one example, without 
> taking down an
> entire cluster of hundreds of computers at once to upgrade all the 
> software on all machines in unison.
>
> For more, see the discussion in the greenpack README. Greenpack is simply 
> msgpack with a versioning convention.
> https://github.com/glycerine/greenpack
>
> On Saturday, June 20, 2026 at 10:12:51 AM UTC-3 [email protected] wrote:
>
>> One of the most popular serializing/deserializing format in Rust is 
>> bincode 
>> <https://git.sr.ht/~stygianentity/bincode/tree/trunk/item/docs/spec.md#collections>
>> .
>> I wonder is there a Go package for dealing with data encoded in the above 
>> bincode format?
>> Thanks!
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/249779f6-ccd7-4ad9-b848-b704f3d2d1a3n%40googlegroups.com.

Reply via email to