Basics for writing a command-line tool in Go
Go provides a basic library called flag
. It refers to the command-line flags. Since it is already packed with the Go distribution, there is no need to install anything externally. We can see the absolute basics of writing the command-line tool. The flag
 package has multiple functions, such as Int
 and String
, to handle the input given as command-line flags. Suppose we need to take a name from the user and print it back to the console. We use the flag.String
 method, as shown in the following code snippet:
import "flag" var name = flag.String("name", "No Namer", "your wonderful name")
Let us write a short program for clear details. Create a file called flagExample.go
 in your $GOPATH/src/github.com/narenaryan
and add the following content:
package main import ( "flag" "log" ) var name = flag.String("name", "stranger", "your wonderful name") func main(){ flag.Parse() log.Printf("Hello %s, Welcome to the command line world", *name) }
In this...