Verwendung des Golang-Flaggenpakets (Mindestkenntnisse)

Das Flag-Paket ist ein praktisches Paket zum Parsen von Befehlszeilen-Flags.

Importieren Sie das Flag-Paket

import "flag"

Definieren Sie eine Variable, um den Wert des Flags zu speichern

Schreiben beim Definieren außerhalb der Funktion

Bereiten Sie beim Binden an eine Variable mit XxxVar () von init (), die später beschrieben wird, eine Variable zum Speichern des Flags vor.

var boolFlag bool
var intFlag int
var strFlag string

Wie in der Funktion definiert zu schreiben

Wenn es nicht an eine Variable mit XxxVar () von init () gebunden ist, die später beschrieben wird, wird es zu einem Zeiger.

  boolPtr := flag.Bool("b", false, "Beispiel für einen booleschen Wert")
  intPtr := flag.Int("i", 0, "Beispiel für numerische Werte")
  strPtr := flag.String("s", "", "Beispiel für Strings")

Initialisierung von Flags

init () wird ausgeführt, bevor main () aufgerufen wird. Der in main durch flag.Parse () angegebene Wert des Flags, der in main beschrieben ist, wird eingegeben, aber der Wert ist zum Zeitpunkt von init noch nicht in der Variablen eingegeben. Daher besteht das Verhalten hier nur darin, einen Zeiger zum Speichern des Werts des Flags zu reservieren. Mit XxxVar () an eine Variable binden. Beschreiben Sie den Zeiger der Variablen, den Namen des Flags, den Standardwert und die Erläuterung seiner Verwendung im Argument.

func init() {
  flag.BoolVar(&boolFlag, "b", false, "Geben Sie einen booleschen Wert an")
  flag.IntVar(&intFlag, "i", 0, "Geben Sie einen numerischen Wert an")
  flag.StringVar(&strFlag, "s", "", "Geben Sie den Wert der Zeichenfolge an")
}

Parsen analysieren und Flaggen erhalten

Durch Aufrufen von flag.Parse () werden die Befehlszeilenargument-Flags analysiert und an Variablen gebunden.

flag.Parse()

Danach kann der Wert des Flags aus der Variablen erhalten werden.

Beispiel für die Befehlszeilenausführung

Bei der Ausführung aus der Quelldatei

#Keine Flagge angegeben
go run flagsample.go

#Mit angegebenem Flag
go run flagsample.go -b
go run flagsample.go -b -i=1 -s=a

Bei der Ausführung aus einer Binärdatei

#Kompilieren Sie das Programm und
go build flagsample.go
#Führen Sie dann die Binärdatei aus.
./flagsample -b -i=1 -s=a

Das große Bild der Quelle

Schreiben beim Definieren außerhalb der Funktion

package main

import (
  "flag"
  "fmt"
)

var boolFlag bool
var intFlag int
var strFlag string

func init() {
  flag.BoolVar(&boolFlag, "b", false, "Beispiel für einen booleschen Wert")
  flag.IntVar(&intFlag, "i", 0, "Beispiel für numerische Werte")
  flag.StringVar(&strFlag, "s", "", "Beispiel für Strings")
}

func main() {
  flag.Parse()

  fmt.Println(boolFlag)
  fmt.Println(intFlag)
  fmt.Println(strFlag)
}

Wie in der Funktion definiert zu schreiben

package main

import (
  "flag"
  "fmt"
)

func main() {
  boolPtr := flag.Bool("b", false, "Beispiel für einen booleschen Wert")
  intPtr := flag.Int("i", 0, "Beispiel für numerische Werte")
  strPtr := flag.String("s", "", "Beispiel für Strings")

  flag.Parse()

  fmt.Println(*boolPtr)
  fmt.Println(*intPtr)
  fmt.Println(*strPtr)
}

Referenz

Recommended Posts

Verwendung des Golang-Flaggenpakets (Mindestkenntnisse)
Verwendung von Nix Package Manager
Mindestkenntnisse zur Verwendung von Form with Flask
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Verwendung von Image-Match
Wie man Shogun benutzt
Verwendung von Pandas 2
Verwendung von Virtualenv
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
Verwendung von OptParse
Verwendung von return
Wie man Imutils benutzt
Verwendung von Qt Designer
Verwendung der Suche sortiert
[gensim] Verwendung von Doc2Vec
python3: Verwendung der Flasche (2)
Verstehen Sie, wie man Django-Filter verwendet
Verwendung des Generators
[Python] Verwendung von Liste 1
Verwendung von FastAPI ③ OpenAPI
Wie benutzt man Python Argparse?
Wie man Pandas Rolling benutzt
[Hinweis] Verwendung von virtualenv
Verwendung von Redispy-Wörterbüchern
Python: Wie man pydub benutzt
[Go] Verwendung von "... (3 Perioden)"
So bedienen Sie GeoIp2 von Django
[Python] Verwendung von input ()
Wie benutzt man den Dekorateur?
[Einführung] Verwendung von open3d
Wie benutzt man Python Lambda?
So verwenden Sie Jupyter Notebook
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
So verwenden Sie Google Colaboratory
Verwendung von Python-Bytes
Verwendung von cron (persönliches Memo)