Befehlszeilenargumentbehandlung in Go

GolangGolangBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Zweck dieses Labors ist es, das Arbeiten mit Befehlszeilenargumenten in Golang zu üben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/CommandLineandEnvironmentGroup(["Command Line and Environment"]) go/CommandLineandEnvironmentGroup -.-> go/command_line("Command Line") subgraph Lab Skills go/command_line -.-> lab-15462{{"Befehlszeilenargumentbehandlung in Go"}} end

Befehlszeilenargumente

Das Programm druckt derzeit die übergebenen rohen Befehlszeilenargumente aus. Es muss jedoch so geändert werden, dass bestimmte Argumente anhand ihres Index ausgegeben werden.

  • Grundkenntnisse von Golang
  • Vertrautheit mit Befehlszeilenargumenten
## Um mit Befehlszeilenargumenten zu experimentieren, ist es am besten,
## zunächst eine Binärdatei mit `go build` zu erstellen.
$ go build command-line-arguments.go
$./command-line-arguments a b c d
[./command-line-arguments a b c d]
[a b c d]
c

## Als nächstes betrachten wir die fortgeschrittene Befehlszeilenverarbeitung
## mit Flags.

Hier ist der vollständige Code:

// [_Command-line arguments_](https://en.wikipedia.org/wiki/Command-line_interface#Arguments)
// sind eine übliche Möglichkeit, die Ausführung von Programmen zu parametrisieren.
// Beispielsweise verwendet `go run hello.go` die Argumente `run` und
// `hello.go` für das `go`-Programm.

package main

import (
	"fmt"
	"os"
)

func main() {

	// `os.Args` bietet den Zugang zu den rohen Befehlszeilenargumenten.
	// Beachten Sie, dass der erste Wert in diesem Slice der Pfad zum Programm ist
	// und `os.Args[1:]` die Argumente für das Programm enthält.
	argsWithProg := os.Args
	argsWithoutProg := os.Args[1:]

	// Sie können einzelne Argumente mit normalem Indexzugriff abrufen.
	arg := os.Args[3]

	fmt.Println(argsWithProg)
	fmt.Println(argsWithoutProg)
	fmt.Println(arg)
}

Zusammenfassung

In diesem Labor haben wir gelernt, wie wir in Golang auf bestimmte Befehlszeilenargumente zugreifen und ausgeben können. Indem wir die Variable os.Args verwenden und in sie indexieren, können wir leicht auf die an das Programm übergebenen Argumente zugreifen.