...
Run Format

Source file src/encoding/encoding.go

Documentation: encoding

  // 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
  }
  

View as plain text