title: Can Go's `flag` package print usage?
body: <p>Is it possible for me to customize Go's <code>flag</code> package so that it prints a custom usage string? I have an application with current output</p>
  
  <pre><code>Usage of ./mysqlcsvdump:
    -compress-file=false: whether compress connection or not
    -hostname="": database host
    -outdir="": where output will be stored
    -password="": database password
    -port=3306: database port
    -single-transaction=true: whether to wrap everything in a transaction or not.
    -skip-header=false: whether column header should be included or not
    -user="root": database user
  </code></pre>
  
  <p>and would rather have something like</p>
  
  <pre><code>Usage: ./mysqlcsvdump [options] [table1 table2 ... tableN]
  
  Parameters:
    -compress-file=false: whether compress connection or not
    -hostname="": database host
    -outdir="": where output will be stored
    -password="": database password
    -port=3306: database port
    -single-transaction=true: whether to wrap everything in a transaction or not.
    -skip-header=false: whether column header should be included or not
    -user="root": database user
  </code></pre>