mirror of
https://github.com/golang/go
synced 2024-11-27 05:21:22 -07:00
encoding/gob: document the extra byte after a singleton
This paragraph has been added, as the notion was missing from the documentation. If a value is passed to Encode and the type is not a struct (or pointer to struct, etc.), for simplicity of processing it is represented as a struct of one field. The only visible effect of this is to encode a zero byte after the value, just as after the last field of an encoded struct, so that the decode algorithm knows when the top-level value is complete. Fixes #16978 Change-Id: I5f008e792d1b6fe80d2e026a7ff716608889db32 Reviewed-on: https://go-review.googlesource.com/38414 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
5c5a10690e
commit
67a46cc163
@ -175,6 +175,12 @@ the interface value. (A nil interface value is identified by the empty string
|
|||||||
and transmits no value.) Upon receipt, the decoder verifies that the unpacked
|
and transmits no value.) Upon receipt, the decoder verifies that the unpacked
|
||||||
concrete item satisfies the interface of the receiving variable.
|
concrete item satisfies the interface of the receiving variable.
|
||||||
|
|
||||||
|
If a value is passed to Encode and the type is not a struct (or pointer to struct,
|
||||||
|
etc.), for simplicity of processing it is represented as a struct of one field.
|
||||||
|
The only visible effect of this is to encode a zero byte after the value, just as
|
||||||
|
after the last field of an encoded struct, so that the decode algorithm knows when
|
||||||
|
the top-level value is complete.
|
||||||
|
|
||||||
The representation of types is described below. When a type is defined on a given
|
The representation of types is described below. When a type is defined on a given
|
||||||
connection between an Encoder and Decoder, it is assigned a signed integer type
|
connection between an Encoder and Decoder, it is assigned a signed integer type
|
||||||
id. When Encoder.Encode(v) is called, it makes sure there is an id assigned for
|
id. When Encoder.Encode(v) is called, it makes sure there is an id assigned for
|
||||||
|
Loading…
Reference in New Issue
Block a user