92 votes

Comment accéder aux arguments de la ligne de commande passés à un programme Go ?

Comment accéder aux arguments de la ligne de commande en Go ? Ils ne sont pas passés comme arguments à main .

Un programme complet, éventuellement créé en liant plusieurs paquets, doit avoir un paquet appelé main, avec une fonction

func main() { ... }

défini. La fonction main.main() ne prend aucun argument et ne renvoie aucune valeur.

0 votes

Je regarderais flag module Golang intégré. Il rend l'analyse des os.Args un peu plus facile

0 votes

De plus, en ce qui concerne le "ne renvoie aucune valeur", notez que vous pouvez appeler os.Exit() pour retourner un code de sortie spécifique au processus appelant.

1voto

dılo sürücü Points 1989

Vous pouvez utiliser le paquet de drapeaux Golang par exemple,

package main

import (
    "flag"
    "fmt"
)

func main() {

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

}

appel avec cli

 go run main.go -word=hello

sortie

word: hello

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X