title: What's the order of this Go print statements?
body: <p>I'm taking 'A Tour of GO' tutorial about Golang and this code:</p>
  
  <pre><code>package main
  
  import (
      "fmt"
      "math"
  )
  
  func pow(x, n, lim float64) float64 {
      if v := math.Pow(x, n); v &lt; lim {
          return v
      } else {
          fmt.Printf("%g &gt;= %g\n", v, lim)
      }
      // can't use v here, though
      return lim
  }
  
  func main() {
      fmt.Println(
          pow(3, 2, 10),
          pow(3, 3, 20),
      )
  }
  </code></pre>
  
  <p>would print 
  "27 >= 20 9 20".</p>
  
  <p>I'm rather confused why it's not
  "9 27 >= 20 20"</p>
  
  <p>Shouldn't the first call to pow(3,2,10) return 9, print it, then call pow(3,3,20) and print the rest?</p>