Skip to content

Latest commit

 

History

History
executable file
·
59 lines (49 loc) · 2.26 KB

encoding.md

File metadata and controls

executable file
·
59 lines (49 loc) · 2.26 KB

包地址:http://golang.org/pkg/encoding/

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.

encoding定义了共享其他包 转化数据 到字节层级的接口
包检查 encoding/gob, encoding/json,  encoding/xml 接口
其结果实现一次接口可以让多个编码类型使用
标准类型实现包含time.Time和net.IP
这些接口都是 生产和消费 数据编码对

type BinaryMarshaler

type BinaryMarshaler interface {
    MarshalBinary() (data []byte, err error)
}
BinaryMarshaler is the interface implemented by an object that can marshal itself into a binary form.
MarshalBinary encodes the receiver into a binary form and returns the result.

BinaryMarshaler是一个实现能让marshal编程二进制格式对象的接口
MarshalBinary 对接收者编码到二进制 然后返回结果

type BinaryUnmarshaler

type BinaryUnmarshaler interface {
    UnmarshalBinary(data []byte) error
}
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

type TextMarshaler interface {
    MarshalText() (text []byte, err error)
}
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.

type TextUnmarshaler

type TextUnmarshaler interface {
    UnmarshalText(text []byte) error
}
TextUnmarshaler is the interface implemented by an object that can unmarshal a textual representation of itself.
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.