mirror of
https://github.com/golang/go
synced 2024-11-24 22:57:57 -07:00
gob: update documentation about wire format for interfaces.
R=rsc CC=golang-dev https://golang.org/cl/2814041
This commit is contained in:
parent
7f7cb166c8
commit
41ac2f8a42
@ -130,11 +130,12 @@ Interface types are not checked for compatibility; all interface types are
|
||||
treated, for transmission, as members of a single "interface" type, analogous to
|
||||
int or []byte - in effect they're all treated as interface{}. Interface values
|
||||
are transmitted as a string identifying the concrete type being sent (a name
|
||||
that must be pre-defined by calling Register()), followed by the usual encoding
|
||||
of concrete (dynamic) value stored in 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.
|
||||
that must be pre-defined by calling Register), followed by a byte count of the
|
||||
length of the following data (so the value can be skipped if it cannot be
|
||||
stored), followed by the usual encoding of concrete (dynamic) value stored in
|
||||
the interface value. (A nil interface value is identified by the empty string
|
||||
and transmits a zero-length value.) Upon receipt, the decoder verifies that the
|
||||
unpacked concrete item satisfies the interface of the receiving variable.
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user