GO: Kommandozeilenparameter

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)

}

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.