title: Cannot use (type []byte) as type io.Reader
body: <p>I don't understand the error, this is my main.go that I execute in the machine "A":</p>
  
  <pre><code>package main
  
  import (
      "fmt"
      "net"
      "os"
      "github.com/mistifyio/go-zfs"
  )
  
  func main() {
      // Listen for incoming connections.
      l, err := net.Listen("tcp", "192.168.99.5:9977")
      if err != nil ...
      // Close the listener when the application closes.
      defer l.Close()
      fmt.Println("Listening on " + CONN_HOST + ":" + CONN_PORT)
      for {
          // Listen for an incoming connection.
          conn, err := l.Accept()
          if err != nil ...
  
          //Handle connections in a new goroutine.
          go handleRequest(conn)
      }
  }
  
  // Handles incoming requests.
  func handleRequest(conn net.Conn) {
      // Make a buffer to hold incoming data.
      buff := make([]byte, 1024)
      // Read the incoming connection into the buffer.
      _, err := conn.Read(buff)
      if err != nil {
          fmt.Printf("Error reading: %s.\n", err.Error())
      }
      // ReceiveSnapshot
      ds, err := zfs.ReceiveSnapshot(buff, "tank/replication")
      if err != nil {
          fmt.Printf("Error receiving: %s.\n", err.Error())
      }
      fmt.Printf("%s... done!\n", ds)
      // Send a response back to person contacting us.
      conn.Write([]byte("Received!"))
      // Close the connection when you're done with it.
      conn.Close()
  }
  </code></pre>
  
  <p>Now, I show you the function ReceiveSnapshot from github.com/mistifyio/go-zfs/zfs.go:</p>
  
  <pre><code>type command struct {
      Command string
      Stdin   io.Reader
      Stdout  io.Writer
  }
  
  func ReceiveSnapshot(input io.Reader, name string) (*Dataset, error) {
      c := command{Command: "zfs", Stdin: input}
      _, err := c.Run("receive", name)
      if err != nil {
          return nil, err
      }
      return GetDataset(name)
  }
  </code></pre>
  
  <p>I have seen in golang pkg the doc of io.Reader:</p>
  
  <pre><code>type Reader interface {
          Read(p []byte) (n int, err error)
  }
  </code></pre>
  
  <p>Why do I receive the error...</p>
  
  <ul>
  <li>cannot use buff (type []byte) as type io.Reader in argument to zfs.ReceiveSnapshot:
  []byte does not implement io.Reader (missing Read method)</li>
  </ul>
  
  <p>...when I make <code>go install</code> ?</p>