title: How to iterate maps in insertion order?
body: <p>I have a navbar as a map:</p>
  
  <pre><code>var navbar = map[string]navbarTab{
  }
  </code></pre>
  
  <p>Where <code>navbarTab</code> has various properties, child items and so on. When I try to render the navbar (with <code>for tabKey := range navbar</code>) it shows up in a random order. I'm aware <code>range</code> randomly sorts when it runs but there appears to be no way to get an ordered list of keys or iterate in the insertion order.</p>
  
  <p>The playground link is here: <a href="http://play.golang.org/p/nSL1zhadg5" rel="noreferrer">http://play.golang.org/p/nSL1zhadg5</a> although it seems to not exhibit the same behavior.</p>
  
  <p>How can I iterate over this map without breaking the insertion order?</p>