title: Best way to pass long arguments in a GoLang CLI program and its limitations
body: <p>I am writing a CLI program in GO and need to be able to pass a rather long list of arguments to the main function. At the moment I am using the standard way of passing arguments (space separated values) and then 
  retrieve 'em using os.Args[index].</p>
  
  <p>So my questions are: </p>
  
  <ol>
  <li>Is there a limit to the number of arguments one can pass?</li>
  <li>Is there a limit to the length of a string argument? </li>
  <li>Is there any other way of achieving this and if so how?</li>
  </ol>