title: Why does type int exist in Go
body: <p>There's <code>int, int32, int64</code> in <code>Golang</code>. </p>
  
  <pre><code>int32 has 32 bits,
  int64 has 64 bits,
  int has 32 or 64 or different number of bits according to the environment.
  </code></pre>
  
  <p>I think <code>int32</code> and <code>int64</code> will be totally enough for the program.
  I don't know why <code>int</code> type should exist, doesn't it will make the action of our code harder to predict? </p>
  
  <p>And also in <code>C++</code>, type <code>int</code> and type <code>long</code> have uncertain length. I think it will make our program fragile. I'm quite confused.</p>