Wie greife ich in Go auf Befehlszeilenargumente zu? Sie werden nicht als Argumente an übergeben main
.
Ein vollständiges Programm, das möglicherweise durch Verknüpfen mehrerer Pakete erstellt wird, muss ein Paket namens main mit einer Funktion haben
func main() { ... }
definiert. Die Funktion main.main () akzeptiert keine Argumente und gibt keinen Wert zurück.
flag
eingebaute Golang-Modul ansehen. Es macht das Parsenos.Args
ein bisschen einfacheros.Exit()
, um einen bestimmten Exit-Code an den aufrufenden Prozess zurückzugeben.Antworten:
Sie können mit der
os.Args
Variablen auf die Befehlszeilenargumente zugreifen . Beispielsweise,Sie können auch das Flag-Paket verwenden , das das Parsen von Befehlszeilen-Flags implementiert.
quelle
Befehlszeilenargumente finden Sie in os.Args . In den meisten Fällen , obwohl das Paket Flagge ist besser , weil es das Argument für Sie Parsen der Fall ist.
quelle
Flag ist dafür ein gutes Paket.
quelle
Peters Antwort ist genau das, was Sie brauchen, wenn Sie nur eine Liste von Argumenten wollen.
Wenn Sie jedoch nach Funktionen suchen, die denen unter UNIX ähneln, können Sie die go-Implementierung von docopt verwenden . Sie können es hier versuchen .
docopt gibt JSON zurück, das Sie nach Herzenslust verarbeiten können.
quelle
Schnelle Antwort:
Prüfung:
$ go run test.go 1 2 3 4 5
Aus:
quelle