title: Go map returns nil value even though value is present
body: <p>Assume <code>answers</code> below is a <code>map[string]interface{}</code> unmarshalled from a JSON string.</p>
  
  <pre><code>if baths, ok := answers["bathrooms"]; ok {
    bathsFloat := baths.(float64)
  }
  </code></pre>
  
  <p>Somehow I'm getting a panic with <code>interface conversion: interface {} is nil, not float64</code>. How can this be possible when the presence check is true?</p>