title: How Golang implement stdin/stdout/stderr
body: <p>I did a little program which was able to parse input from command line. It worked well by means of <code>std.in</code>. However, when I looked up the official document for further learning, I found there was too much stuff for me.</p>
  
  <pre><code>var (
     Stdin = NewFile(uintptr(syscall.Stdin), "/dev/stdin")
  )
  </code></pre>
  
  <p>I read the document of <code>func NewFile</code>, <code>type uintpty</code>, <code>Package syscall</code> individually but could not figure out the whole. Also, I did not know the meaning of <code>/dev/stdin</code>, either.</p>
  
  <p>I never learned another static programming language except for <code>go</code>. How could I realize the magic of <code>stdin</code>?</p>