package docopt import ( "fmt" "sort" ) func ExampleParse() { usage := `Usage: config_example tcp [<host>] [--force] [--timeout=<seconds>] config_example serial <port> [--baud=<rate>] [--timeout=<seconds>] config_example -h | --help | --version` // parse the command line `comfig_example tcp 127.0.0.1 --force` argv := []string{"tcp", "127.0.0.1", "--force"} arguments, _ := Parse(usage, argv, true, "0.1.1rc", false) // sort the keys of the arguments map var keys []string for k := range arguments { keys = append(keys, k) } sort.Strings(keys) // print the argument keys and values for _, k := range keys { fmt.Printf("%9s %v\n", k, arguments[k]) } // output: // --baud <nil> // --force true // --help false // --timeout <nil> // --version false // -h false // <host> 127.0.0.1 // <port> <nil> // serial false // tcp true }