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) }