title: Return values of function as input arguments to another
body: <p>If I have</p>
  
  <pre><code>func returnIntAndString() (i int, s string) {...}
  </code></pre>
  
  <p>And I have:</p>
  
  <pre><code>func doSomething(i int, s string) {...}
  </code></pre>
  
  <p>Then I can do the following successfully:</p>
  
  <pre><code>doSomething(returnIntAndString())
  </code></pre>
  
  <p>However, let's say I want to add another argument to doSomething like:</p>
  
  <pre><code>func doSomething(msg string, i int, s string) {...}
  </code></pre>
  
  <p>Go complains when compiling if I call it like:</p>
  
  <pre><code>doSomething("message", returnIntAndString())
  </code></pre>
  
  <p>With:</p>
  
  <pre><code>main.go:45: multiple-value returnIntAndString() in single-value context
  main.go:45: not enough arguments in call to doSomething()
  </code></pre>
  
  <p>Is there a way to do this or should I just give up and assign the return values from <code>returnIntAndString</code> to some references and pass msg and these values like <code>doSomething(msg, code, str)</code> ?</p>