title: Can you explain parameters between func keyword and function name?
body: <p>I'm new to the language and so far what I have read doesn't explain what is happening here.</p>
  
  <p>I was looking at <a href="http://golang.org/pkg/encoding/json/#Decoder" rel="nofollow">JSON decoding</a>.</p>
  
  <p>Here is a function in the package:</p>
  
  <pre><code>func (dec *Decoder) Decode(v interface{}) error
  </code></pre>
  
  <p>There is similar notation here:</p>
  
  <pre><code>func (dec *Decoder) Buffered() io.Reader
  </code></pre>
  
  <p>How do these functions access the <code>(dec *Decoder)</code>? Given that the second function has no parameters, I am guessing this is not something that must be passed directly in the function call but something similar? </p>