title: size_t in Go without using cgo
body: <p>This is a <strong>C</strong> <strong>struct</strong> that I want to port into <strong>Go struct</strong>:</p>
  
  <pre><code>struct InputBuffer_t {
     char* buffer;
     size_t buffer_length;
     ssize_t input_length;
  };
  </code></pre>
  
  <p>But there is a way to declare <strong>buffer_length</strong> variable without using <strong>C.size_t cgo pointer</strong> in <strong>Go</strong>.</p>
  
  <p>This is a concern for portability. If I write the <strong>Go struct</strong> in this way, is it will be portable?</p>
  
  <pre><code>type InputBuffer struct {
     Buffer        string
     BufferLength uint32
     InputLength  uint32
  };
  </code></pre>