title: Two ways of getting balance in Solidity
body: <p>As far as I know there are 2 ways of getting balance of a certain address.</p>
  
  <ol>
  <li><code>address firstAddress;
  "firstAddress.balance"</code>
  This will get the balance of the address "firstAddress".</li>
  <li><code>address firstAddress;
  mapping ( address =&gt; uint) balanceFirstAddress;
  balanceFirstAddress[firstAddress]</code>
  This will get the balance of the address "firstAddress".</li>
  </ol>
  
  <p>I understand the first one is just go to an address and get its balance. I don't get how come <code>mapping(address =&gt; uint)</code> will get the balance of that address. Isn't it <code>mapping</code> just a hashing function that hash the function from hex to some binary value that can do mathematical manipulation? </p>
  
  <p>Additionally, if both function gets the balance of the address, what is the difference between them and when should I use which?</p>
  
  <p>Thanks in advance!</p>