Command Line Argument Processing in Go

From NovaOrdis Knowledge Base
Revision as of 02:31, 18 October 2023 by Ovidiu (talk | contribs) (→‎Internal)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Internal

Overview

Use the flag package:

var port int
flag.IntVar(&port, "port", 8080, "Some documentation for the flag")
flag.Parse()

I didn't find a way to tel whether the value has been indeed provided on command line or it's the default. This can be a problem when we also read the value from a configuration file, and we want the priority to be, in order: command line, config file and default.

Positional Arguments

args := os.Args

args[0] is a string that represents the path of the executable, as it was invoked on the command line. Example: ./../bin/metadata.

TO DEPLETE

TO DEPLETE Go Command Line Parsing