/sds

simple data streams for go

Primary LanguageGoMIT LicenseMIT

sds

GoDoc

This package provides a fast and simple way for reading and writing custom data streams in Go.

Supports reading and writing most basic types including: int8, int16, int32, int64, uint8, uint16, uint32, uint64, byte, bool, float32, float64, []byte, string. Also uvarint and varint.

Usage

Installing

To start using sds, install Go and run go get:

$ go get -u github.com/tidwall/sds

Basic operations

// create a writer
var bb bytes.Buffer
w := sds.NewWriter(&bb) 

// write some stuff
err = w.WriteString("Hello Jello")
err = w.WriteBytes(someBinary)
err = w.WriteUvarint(8589869056)
err = w.WriteVarint(-119290019)
err = w.WriteUint16(-119290019)

// close the reader when done
w.Flush()

// create a reader
r := sds.NewReader(&bb)

// read some stuff
s, err = w.ReadString()
b, err = w.ReadBytes()
x, err = w.ReadUvarint()
x, err = w.ReadVarint()
x, err = w.ReadUint16()

Now isn't that nice.

License

sds source code is available under the MIT License.