Warning
The module is not yet at version 1.0.0
so it's not possible to ensure that there will be no breaking changes.
Go encoding module for ETF (External Term Format).
The external term format is mainly used in Erlang's distribution system. Occasionally, it's necessary to encode and decode this particular binary format for communication between different APIs. This format offers the advantage of being faster and more lightweight compared to traditional JSON.
go v1.22+
go get -u github.com/nicolito128/goetf
package main
import (
"fmt"
"github.com/nicolito128/goetf"
)
func main() {
phrase := "Hello, world!"
data, err := goetf.Marshal(phrase)
if err != nil {
panic(err)
}
fmt.Println("Encoded:", data)
}
package main
import (
"fmt"
"github.com/nicolito128/goetf"
)
func main() {
var out int
bin := []byte{131, 98, 0, 0, 1, 1}
if err := goetf.Unmarshal(bin, &out); err != nil {
panic(err)
}
fmt.Println("Out:", out)
}
For both examples, use the go run
command, like:
go run example_file.go
- Visit the examples folder for more sample codes.