Comment utiliser le package de drapeau Golang (connaissances minimales)

Le package d'indicateurs est un package pratique pour analyser les indicateurs de ligne de commande.

Importez le package de drapeau

import "flag"

Définissez une variable pour stocker la valeur de l'indicateur

Comment écrire lors de la définition en dehors de la fonction

Lors de la liaison à une variable avec XxxVar () de init () décrite plus loin, préparez une variable pour stocker l'indicateur.

var boolFlag bool
var intFlag int
var strFlag string

Comment écrire défini dans la fonction

S'il n'est pas lié à une variable avec XxxVar () de init () décrit plus loin, il devient un pointeur.

  boolPtr := flag.Bool("b", false, "Exemple de valeur booléenne")
  intPtr := flag.Int("i", 0, "Exemple de valeurs numériques")
  strPtr := flag.String("s", "", "Exemple pour les chaînes")

Initialisation des drapeaux

init () est exécuté avant l'appel de main (). La valeur de l'indicateur spécifié dans la variable par flag.Parse () décrit dans main est entrée, mais la valeur n'est pas encore entrée dans la variable au moment de l'initialisation. Par conséquent, ici, le comportement consiste uniquement à réserver un pointeur pour stocker la valeur de l'indicateur. Liez à une variable avec XxxVar (). Décrivez le pointeur de la variable, le nom de l'indicateur, la valeur par défaut et l'explication de son utilisation dans l'argument.

func init() {
  flag.BoolVar(&boolFlag, "b", false, "Spécifiez une valeur booléenne")
  flag.IntVar(&intFlag, "i", 0, "Spécifiez une valeur numérique")
  flag.StringVar(&strFlag, "s", "", "Spécifiez la valeur de la chaîne de caractères")
}

Analyser et obtenir des indicateurs

L'appel de flag.Parse () analyse les indicateurs d'argument de ligne de commande et les lie aux variables.

flag.Parse()

Après cela, la valeur de l'indicateur peut être obtenue à partir de la variable.

Exemple d'exécution de ligne de commande

Lors de l'exécution à partir du fichier source

#Aucun drapeau spécifié
go run flagsample.go

#Avec indicateur spécifié
go run flagsample.go -b
go run flagsample.go -b -i=1 -s=a

Lors de l'exécution à partir d'un fichier binaire

#Compilez le programme et
go build flagsample.go
#Ensuite, exécutez le binaire.
./flagsample -b -i=1 -s=a

La vue d'ensemble de la source

Comment écrire lors de la définition en dehors de la fonction

package main

import (
  "flag"
  "fmt"
)

var boolFlag bool
var intFlag int
var strFlag string

func init() {
  flag.BoolVar(&boolFlag, "b", false, "Exemple de valeur booléenne")
  flag.IntVar(&intFlag, "i", 0, "Exemple de valeurs numériques")
  flag.StringVar(&strFlag, "s", "", "Exemple pour les chaînes")
}

func main() {
  flag.Parse()

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

Comment écrire défini dans la fonction

package main

import (
  "flag"
  "fmt"
)

func main() {
  boolPtr := flag.Bool("b", false, "Exemple de valeur booléenne")
  intPtr := flag.Int("i", 0, "Exemple de valeurs numériques")
  strPtr := flag.String("s", "", "Exemple pour les chaînes")

  flag.Parse()

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

référence

Recommended Posts

Comment utiliser le package de drapeau Golang (connaissances minimales)
Comment utiliser Nix Package Manager
Connaissances minimales pour utiliser Form avec Flask
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser python-kabusapi
Comment utiliser OptParse
Comment utiliser le retour
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
Comment utiliser Qt Designer
Comment utiliser la recherche triée
[gensim] Comment utiliser Doc2Vec
python3: Comment utiliser la bouteille (2)
Comprendre comment utiliser django-filter
Comment utiliser le générateur
[Python] Comment utiliser la liste 1
Comment utiliser FastAPI ③ OpenAPI
Comment utiliser Python Argparse
Comment utiliser Pandas Rolling
[Note] Comment utiliser virtualenv
Comment utiliser les dictionnaires redis-py
Python: comment utiliser pydub
[Aller] Comment utiliser "... (3 périodes)"
Comment faire fonctionner GeoIp2 de Django
[Python] Comment utiliser input ()
Comment utiliser le décorateur
[Introduction] Comment utiliser open3d
Comment utiliser Python lambda
Comment utiliser Jupyter Notebook
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Comment utiliser Google Colaboratory
Comment utiliser les octets Python
Comment utiliser cron (mémo personnel)