Actually, it looks like the int/int8 distinction doesn't matter for gob.

> There is no int8, int16 etc. discrimination in the gob format; there are 
> only signed and unsigned integers.
>
https://golang.org/pkg/encoding/gob/ 

On Wednesday, January 18, 2017 at 8:43:27 AM UTC-6, Jordan Krage wrote:
>
> How about a compromise with denser type info? (could consider an int8 as 
> well) 
>  
> type infoType int
>
> const (
>     firstType infoType = iota
>     secondType
>     ...
> )
>
> type Info struct{
>     infoType
>     IData interface{}
> }
>
>
> On Wednesday, January 18, 2017 at 12:07:49 AM UTC-6, casp...@gmail.com 
> wrote:
>>
>> First thanks for you reply. 
>> Because in fact, I have about more than 10 different struct types (maybe 
>> more and more), your suggest is good, this is better
>> type Info struct{
>>     typeStr string // store the type info to decode IData
>>     IData interface{}
>> }
>>
>> But I don't like to send the typeInfo through rpc call(I'm using gob to 
>> do rpc call),maybe there's a better way to do it, just I haven't found it。
>>
>> 在 2017年1月18日星期三 UTC+8上午11:12:05,Felipe Spinolo写道:
>>>
>>> Why not just create a wrapper struct? Something like:
>>>
>>> type Mixed struct{
>>>     A *A
>>>     B *B
>>> }
>>>
>>> And then just encode/decode that?
>>>
>>> On Tuesday, January 17, 2017 at 1:16:37 PM UTC-8, casp...@gmail.com 
>>> wrote:
>>>>
>>>> I got two struct types encoded into bytes by gob, I want to decode the 
>>>> bytes into a specific struct, is it possible without try all struct 
>>>> types(maybe 3 or more struct types)?
>>>>
>>>>  I want to decode bytes without specify which elem in mixedBytes is 
>>>> struct A, and which is struct B.
>>>> This is the playground url:  https://play.golang.org/p/F0Wp5eWdGu
>>>>
>>>> Is is possible to implement it by a map or something like this?
>>>>
>>>> var typesMap = map[string]reflect.Value{
>>>>     "A": reflect.ValueOf(A{}),
>>>>     "B": reflect.ValueOf(B{}),
>>>> }
>>>>
>>>>
>>>>
>>>>

-- 
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 golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to