title: "%!s"-like error in fmt.Printf when format string is from arguments (go language)
body: <p>just see the code:(so simple that I can't believe myself)</p>
  
  <pre><code>package log
  
  import "fmt"
  
  func P(format string,a ...interface{}){
      fmt.Printf(format,a)
  }
  </code></pre>
  
  <p>when called somewhere like this :</p>
  
  <pre><code>log.P("%s,%s,%d","","",0)
  </code></pre>
  
  <p>I got error:</p>
  
  <pre><code>[  %!s(int=0)],%!s(MISSING),%!d(MISSING)
  </code></pre>
  
  <p>BUT if I call fmt.Printf directly like this:</p>
  
  <pre><code>fmt.Printf("%s,%s,%d","","",0)
  </code></pre>
  
  <p>It works perfectly,just perfectly (of course,as basic use of fmt).</p>
  
  <p>So the Question is:</p>
  
  <h2><strong>Why log.P not work??</strong></h2>
  
  <p>FYI:</p>
  
  <p>I believe it's pretty simple ,but I just can't find an answer by google,
  never ever someone dropped in the hell ?</p>
  
  <p>Or maybe I just dont know how to ask,so I put pure code above.</p>
  
  <p>Or just I'm a super fool this time?</p>
  
  <p>I signed up stackoverflow today for an answer to this. Let me know what's wrong with me. As soon...</p>