?
This document uses PHP Chinese website manual Release
import "encoding"
概述
索引
子目錄
包編碼定義了其他包將數(shù)據(jù)轉(zhuǎn)換為字節(jié)級和文本表示形式的接口共享的接口。檢查這些接口的軟件包包括 encoding/gob,encoding/json 和 encoding/xml。因此,一次實現(xiàn)一個接口可以使一個類型在多種編碼中有用。實現(xiàn)這些接口的標(biāo)準(zhǔn)類型包括 time.Time 和 net.IP 。這些接口成對生成并消費編碼數(shù)據(jù)。
type BinaryMarshaler
type BinaryUnmarshaler
type TextMarshaler
type TextUnmarshaler
encoding.go
BinaryMarshaler 是由一個對象實現(xiàn)的接口,它可以將自己編組為二進制形式。
MarshalBinary 將接收器編碼為二進制形式并返回結(jié)果。
type BinaryMarshaler interface { MarshalBinary() (data []byte, err error)}
BinaryUnmarshaler 是一個可以解組自身二進制表示的對象實現(xiàn)的接口。
UnmarshalBinary 必須能夠解碼由 MarshalBinary 生成的表單。如果希望在返回后保留數(shù)據(jù),UnmarshalBinary 必須復(fù)制數(shù)據(jù)。
type BinaryUnmarshaler interface { UnmarshalBinary(data []byte) error}
TextMarshaler 是由一個對象實現(xiàn)的接口,它可以將自己編組為一個文本形式。
MarshalText 將接收器編碼為 UTF-8 編碼文本并返回結(jié)果。
type TextMarshaler interface { MarshalText() (text []byte, err error)}
TextUnmarshaler 是一個可以解組自身文本表示的對象實現(xiàn)的接口。
UnmarshalText 必須能夠解碼由 MarshalText 生成的表單。如果 UnmarshalText 希望在返回后保留文本,則它必須復(fù)制文本。
type TextUnmarshaler interface { UnmarshalText(text []byte) error}