12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // Copyright 2013 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- // 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.
- package encoding
- // 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.
- type BinaryMarshaler interface {
- MarshalBinary() (data []byte, err 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 BinaryUnmarshaler interface {
- UnmarshalBinary(data []byte) 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 TextMarshaler interface {
- MarshalText() (text []byte, err 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.
- type TextUnmarshaler interface {
- UnmarshalText(text []byte) error
- }
|