title: What data structure do Go maps use internally?
body: <p>I'm interested in the following:</p>
  
  <ul>
  <li>How are Go maps implemented internally? (hash tables, trees...)</li>
  <li>If Go maps are hash tables, which hash function is used?</li>
  <li>If Go maps are trees, are they AVL, red-black, or some other type?</li>
  <li>If Go maps are array-based, how do they avoid/handle collisions?</li>
  </ul>