mirror of
https://github.com/golang/go
synced 2024-11-18 04:04:49 -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
|
||||
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
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user