title: What are the advantages of the general types (int / uint) over specific types (int64 / uint64) in Go lang?
body: <p>I understand that <code>int</code> and <code>uint</code> are 64bit signed / unsigned integers - just like <code>int64</code> / <code>uint64</code>. And I also understand that <code>int</code> is not simply an alias for <code>int64</code> (like <code>byte</code> -> <code>uint8</code> is), so <code>int64</code> would need to be converted to <code>int</code> and visa versa when applicable. However what are the benefits of using one over the other? Is there any run time performance penalty for using the general types?</p>
  
  <p>Sorry if this is a common question - I had Googled for the answer (and searched on here too) as I'd have thought others might have cropped up before but didn't find anyone answer the question in terms of how they affect performance (if at all), memory usage (I'm guessing not if they're both 64bit integers?) nor how the compiler treats them.</p>
  
  <p>edit: I'm aware that <code>int</code> / <code>unit</code> are 32bit on 32bit architectures. For the sake of brevity and comparing like for like, I was assuming this is a 64bit Golang environment.</p>