©
本文档使用
php.cn手册 发布
import "encoding"
概述
索引
子目录
包编码定义了其他包将数据转换为字节级和文本表示形式的接口共享的接口。检查这些接口的软件包包括 encoding/gob,encoding/json 和 encoding/xml。因此,一次实现一个接口可以使一个类型在多种编码中有用。实现这些接口的标准类型包括 time.Time 和 net.IP 。这些接口成对生成并消费编码数据。
type BinaryMarshaler
type BinaryUnmarshaler
type TextMarshaler
type TextUnmarshaler
encoding.go
BinaryMarshaler 是由一个对象实现的接口,它可以将自己编组为二进制形式。
MarshalBinary 将接收器编码为二进制形式并返回结果。
type BinaryMarshaler interface { MarshalBinary() (data []byte, err error)}
BinaryUnmarshaler 是一个可以解组自身二进制表示的对象实现的接口。
UnmarshalBinary 必须能够解码由 MarshalBinary 生成的表单。如果希望在返回后保留数据,UnmarshalBinary 必须复制数据。
type BinaryUnmarshaler interface { UnmarshalBinary(data []byte) error}
TextMarshaler 是由一个对象实现的接口,它可以将自己编组为一个文本形式。
MarshalText 将接收器编码为 UTF-8 编码文本并返回结果。
type TextMarshaler interface { MarshalText() (text []byte, err error)}
TextUnmarshaler 是一个可以解组自身文本表示的对象实现的接口。
UnmarshalText 必须能够解码由 MarshalText 生成的表单。如果 UnmarshalText 希望在返回后保留文本,则它必须复制文本。
type TextUnmarshaler interface { UnmarshalText(text []byte) error}