title: What is the difference between int and int64 in Go?
body: <p>I have a string containing an integer (which has been read from a file). </p>
  
  <p>I'm trying to convert the <code>string</code> to an <code>int</code> using <code>strconv.ParseInt()</code>.  <code>ParseInt</code> requires that I provide a bitsize (bit sizes 0, 8, 16, 32, and 64 correspond to int, int8, int16, int32, and int64).</p>
  
  <p>The integer read from the file is small (i.e. it should fit in a normal int). If I pass a bitsize of 0, however, I get a result of type <code>int64</code> (presumably because I'm running on a 64-bit OS).</p>
  
  <p>Why is this happening? How do I just get a normal int? (If someone has a quick primer on when and why I should use the different int types, that would awesome!)</p>
  
  <p>Edit: I can convert the int64 to a normal int using <code>int([i64_var])</code>. But I still don't understand why <code>ParseInt()</code> is giving me an int64 when I'm requesting a bitsize of 0.</p>