flag ist im GO Paket bereits dabei, es muss nicht extra Installiert werden und ist ähnlich wie argparse unter Python.
package main
import (
"flag"
"fmt"
)
func main() {
// Parameter definieren
name := flag.String("name", "", "Name of record")
domain := flag.String("domain", "", "Domain of record")
r_type := flag.String("type", "A", "Record type, valid are A, CNAME")
value := flag.String("value", "", "IP or FQDN")
// Flags parsen
flag.Parse()
// Prüfen ob Werte übergeben wurden, einzig r_type wird nicht geprüft weil der ein default Wert hat
if *name == "" || *domain == "" || *value == "" {
fmt.Println("Please use all options, name, domain, type, value\n")
flag.Usage()
}
fmt.Printf("%v.%v %v %v", *name, *domain, *r_type, *value)
}
