func ExampleUnmarshal() {
	type ImageHeader struct {
		Signature   [3]byte
		Version     uint32
		IsGrayscale bool
		NumSections uint32
	}
	encodedData := []byte{
		0xAB, 0xCD, 0xEF, 0x00,  
		0x00, 0x00, 0x00, 0x02,  
		0x00, 0x00, 0x00, 0x01,  
		0x00, 0x00, 0x00, 0x0A}  
	var h ImageHeader
	remainingBytes, err := xdr.Unmarshal(encodedData, &h)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("remainingBytes:", remainingBytes)
	fmt.Printf("h: %+v", h)
}
This example demonstrates how to use Unmarshal to decode XDR encoded data from
a byte slice into a struct.
package xdr_test
import (
	"fmt"
	"github.com/davecgh/go-xdr/xdr"
)
func ExampleMarshal() {
	type ImageHeader struct {
		Signature   [3]byte
		Version     uint32
		IsGrayscale bool
		NumSections uint32
	}
	h := ImageHeader{[3]byte{0xAB, 0xCD, 0xEF}, 2, true, 10}
	encodedData, err := xdr.Marshal(&h)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("encodedData:", encodedData)
}