title: Golang equivalent of Python's struct.pack / struct.unpack
body: <p>In Python, using the <code>struct</code> module, I can do something like this to get a packed representation of a value as a string:</p>
  
  <pre><code>import struct
  print struct.pack('L', 64)
  "@\x00\x00\x00\x00\x00\x00\x00"
  struct.unpack('L', '@\x00\x00\x00\x00\x00\x00\x00')
  (64,)
  </code></pre>
  
  <p>I'd like to do something similar in Go, except I'm a little unclear on how to do so. I know I can do something like this:</p>
  
  <pre><code>import (
      "encoding/binary"
      "fmt"
  )
  
  bs := make([]byte, 8)
  binary.PutUvarint(bs, uint64(64))
  fmt.Printf("%s", bs)
  "@"
  </code></pre>
  
  <p>But that's very different and probably not what I want.</p>