blob: 3a28e1809f4f8e7d7e534e88c5bf05972d39c68a [file] [log] [blame]
package main
import (
"encoding/binary"
"image/color"
"io"
"log"
"os"
)
// GOPHER OMIT
type Gopher struct {
Name string
Age int32
FurColor color.Color
}
// DUMP OMIT
func (g *Gopher) DumpBinary(w io.Writer) error {
err := binary.Write(w, binary.LittleEndian, int32(len(g.Name)))
if err != nil {
return err
}
_, err = w.Write([]byte(g.Name))
if err != nil {
return err
}
err = binary.Write(w, binary.LittleEndian, g.Age)
if err != nil {
return err
}
return binary.Write(w, binary.LittleEndian, g.FurColor)
}
// MAIN OMIT
func main() {
w := os.Stdout
g := &Gopher{
Name: "Gophertiti",
Age: 3383,
FurColor: color.RGBA{B: 255},
}
if err := g.DumpBinary(w); err != nil {
log.Fatal("DumpBinary: %v", err)
}
}