Overview
Package encoding defines interfaces shared by other packages that convert data
to and from byte-level and textual representations. Packages that check for
these interfaces include encoding/gob, encoding/json, and encoding/xml. As a
result, implementing an interface once can make a type useful in multiple
encodings. Standard types that implement these interfaces include time.Time and
net.IP. The interfaces come in pairs that produce and consume encoded data.
type BinaryMarshaler
MarshalBinary encodes the receiver into a binary form and returns the result.
BinaryUnmarshaler is the interface implemented by an object that can unmarshal a
binary representation of itself.
UnmarshalBinary must be able to decode the form generated by MarshalBinary.
UnmarshalBinary must copy the data if it wishes to retain the data after
returning.
type TextMarshaler
TextMarshaler is the interface implemented by an object that can marshal itself
into a textual form.
MarshalText encodes the receiver into UTF-8-encoded text and returns the result.
UnmarshalText must be able to decode the form generated by MarshalText.
UnmarshalText must copy the text if it wishes to retain the text after
returning.