title: Arguments as functions with variable number of arguments
body: <p>How can I pass in Golang a function as an argument that can have potentially multiple arguments, e.g. <code>fmt.Printf</code>?</p>
  
  <p>The first problem is that one has to define the type of the function to be passed first.</p>
  
  <pre><code>type FunctionWithVariableArgumentLength func(s string, object1 type1, ..., objectn typen)
  </code></pre>
  
  <p>The second problem is that one does not know what types the arguments in the list may have, like in <code>fmt.Printf</code>.</p>