Documentation ¶
Overview ¶
Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
Numbers are translated by reading and writing fixed-size values. A fixed-size value is either a fixed-size arithmetic type (int8, uint8, int16, float32, complex64, ...) or an array or struct containing only fixed-size values.
The varint functions encode and decode single integer values using a variable-length encoding; smaller values require fewer bytes. For a specification, see http://code.google.com/apis/protocolbuffers/docs/encoding.html.
This package favors simplicity over efficiency. Clients that require high-performance serialization, especially for large data structures, should look at more advanced solutions such as the encoding/gob package or protocol buffers.
gopsutil is a port of psutil(http://pythonhosted.org/psutil/). This covers these architectures.
- linux (amd64, arm)
- freebsd (amd64)
- windows (amd64)
Index ¶
- Variables
- func ByteToString(orig []byte) string
- func CallLsof(invoke Invoker, pid int32, args ...string) ([]string, error)
- func CallPgrep(invoke Invoker, pid int32) ([]int32, error)
- func GetEnv(key string, dfault string, combineWith ...string) string
- func HostProc(combineWith ...string) string
- func HostSys(combineWith ...string) string
- func IntToString(orig []int8) string
- func PathExists(filename string) bool
- func Read(r io.Reader, order ByteOrder, data interface{}) error
- func ReadInts(filename string) ([]int64, error)
- func ReadLines(filename string) ([]string, error)
- func ReadLinesOffsetN(filename string, offset uint, n int) ([]string, error)
- func Size(v interface{}) int
- func StringsContains(target []string, src string) bool
- func StringsHas(target []string, src string) bool
- func Write(w io.Writer, order ByteOrder, data interface{}) error
- type ByteOrder
- type FakeInvoke
- type Invoke
- type Invoker
Constants ¶
This section is empty.
Variables ¶
var BigEndian bigEndian
BigEndian is the big-endian implementation of ByteOrder.
var LittleEndian littleEndian
LittleEndian is the little-endian implementation of ByteOrder.
var NotImplementedError = errors.New("not implemented yet")
Functions ¶
func ByteToString ¶
func GetEnv ¶
GetEnv retrieves the environment variable key. If it does not exist it returns the default.
func IntToString ¶
func PathExists ¶
func Read ¶
Read reads structured binary data from r into data. Data must be a pointer to a fixed-size value or a slice of fixed-size values. Bytes read from r are decoded using the specified byte order and written to successive fields of the data. When reading into structs, the field data for fields with blank (_) field names is skipped; i.e., blank field names may be used for padding. When reading into a struct, all non-blank fields must be exported.
func ReadLines ¶
ReadLines reads contents from a file and splits them by new lines. A convenience wrapper to ReadLinesOffsetN(filename, 0, -1).
func ReadLinesOffsetN ¶
ReadLines reads contents from file and splits them by new line. The offset tells at which line number to start. The count determines the number of lines to read (starting from offset):
n >= 0: at most n lines n < 0: whole file
func Size ¶
func Size(v interface{}) int
Size returns how many bytes Write would generate to encode the value v, which must be a fixed-size value or a slice of fixed-size values, or a pointer to such data. If v is neither of these, Size returns -1.
func StringsContains ¶
StringsContains checks the src in any string of the target string slice
func StringsHas ¶
StringsHas checks the target string slice contains src or not
func Write ¶
Write writes the binary representation of data into w. Data must be a fixed-size value or a slice of fixed-size values, or a pointer to such data. Bytes written to w are encoded using the specified byte order and read from successive fields of the data. When writing structs, zero values are written for fields with blank (_) field names.
Types ¶
type ByteOrder ¶
type ByteOrder interface { Uint16([]byte) uint16 Uint32([]byte) uint32 Uint64([]byte) uint64 PutUint16([]byte, uint16) PutUint32([]byte, uint32) PutUint64([]byte, uint64) String() string }
A ByteOrder specifies how to convert byte sequences into 16-, 32-, or 64-bit unsigned integers.