You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
李光春
25ec0c0518
continuous-integration/drone/push Build was killed
Details
|
2 years ago | |
---|---|---|
.. | ||
msgpcode | 2 years ago | |
.prettierrc | 2 years ago | |
.travis.yml | 2 years ago | |
CHANGELOG.md | 2 years ago | |
LICENSE | 2 years ago | |
Makefile | 2 years ago | |
README.md | 2 years ago | |
commitlint.config.js | 2 years ago | |
decode.go | 2 years ago | |
decode_map.go | 2 years ago | |
decode_number.go | 2 years ago | |
decode_query.go | 2 years ago | |
decode_slice.go | 2 years ago | |
decode_string.go | 2 years ago | |
decode_value.go | 2 years ago | |
encode.go | 2 years ago | |
encode_map.go | 2 years ago | |
encode_number.go | 2 years ago | |
encode_slice.go | 2 years ago | |
encode_value.go | 2 years ago | |
ext.go | 2 years ago | |
intern.go | 2 years ago | |
msgpack.go | 2 years ago | |
package.json | 2 years ago | |
safe.go | 2 years ago | |
time.go | 2 years ago | |
types.go | 2 years ago | |
unsafe.go | 2 years ago | |
version.go | 2 years ago |
README.md
MessagePack encoding for Golang
❤️ Uptrace.dev - All-in-one tool to optimize performance and monitor errors & logs
- Join Discord to ask questions.
- Documentation
- Reference
- Examples
Other projects you may like:
- Bun - fast and simple SQL client for PostgreSQL, MySQL, and SQLite.
- BunRouter - fast and flexible HTTP router for Go.
Features
- Primitives, arrays, maps, structs, time.Time and interface{}.
- Appengine *datastore.Key and datastore.Cursor.
- CustomEncoder/CustomDecoder interfaces for custom encoding.
- Extensions to encode type information.
- Renaming fields via
msgpack:"my_field_name"
and alias viamsgpack:"alias:another_name"
. - Omitting individual empty fields via
msgpack:",omitempty"
tag or all empty fields in a struct. - Map keys sorting.
- Encoding/decoding all structs as arrays or individual structs.
- Encoder.SetCustomStructTag with Decoder.SetCustomStructTag can turn msgpack into drop-in replacement for any tag.
- Simple but very fast and efficient queries.
Installation
msgpack supports 2 last Go versions and requires support for Go modules. So make sure to initialize a Go module:
go mod init github.com/my/repo
And then install msgpack/v5 (note v5 in the import; omitting it is a popular mistake):
go get github.com/vmihailenco/msgpack/v5
Quickstart
import "github.com/vmihailenco/msgpack/v5"
func ExampleMarshal() {
type Item struct {
Foo string
}
b, err := msgpack.Marshal(&Item{Foo: "bar"})
if err != nil {
panic(err)
}
var item Item
err = msgpack.Unmarshal(b, &item)
if err != nil {
panic(err)
}
fmt.Println(item.Foo)
// Output: bar
}