129 Stimmen

Wie kann man auf Befehlszeilenargumente zugreifen, die an ein Go-Programm übergeben wurden?

Wie greife ich in Go auf Kommandozeilenargumente zu? Sie werden nicht als Argumente an main .

Ein komplettes Programm, das möglicherweise durch die Verknüpfung mehrerer Pakete erstellt wurde, muss ein Paket namens main enthalten, mit einer Funktion

func main() { ... }

definiert. Die Funktion main.main() nimmt keine Argumente entgegen und gibt keinen Wert zurück.

8voto

dılo sürücü Punkte 2737

Können Sie zum Beispiel das Golang-Flag-Paket verwenden,

package main

import (
    "flag"
    "fmt"
)

func main() {

    wordPtr := flag.String("word", "default value", "a string for description")
    flag.Parse()
    fmt.Println("word:", *wordPtr)

}

Anruf mit Cli

 go run main.go -word=hello

Ausgabe

word: hello

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X