Cela peut sembler stupide, mais comment définir une variable globale en déplacement? Je veux juste obtenir l'argument de la ligne de commande et après cela, je veux l'imprimer. Je fais cela à l'aide de ce code SNIPPET: P> const myglobalvariable = "salut là-bas!" code> ne fonctionne pas vraiment ...
package main
import (
"flag"
"fmt"
)
func main() {
gettext();
fmt.Println(text)
}
func gettext() {
flag.Parse()
text := flag.Args()
if len(text) < 1 {
fmt.Println("Please give me some text!")
}
}
4 Réponses :
Pourquoi avez-vous besoin d'une variable globale? Par exemple,
package main import ( "flag" "fmt" ) func main() { text := gettext() fmt.Println(text) } func gettext() []string { flag.Parse() text := flag.Args() if len(text) < 1 { fmt.Println("Please give me some text!") } return text }
Je pense que cette réponse a été votée à la baisse parce qu'elle a donné à l'op de quoi ils avaient besoin, pas ce qu'ils ont demandé :)
Je vois au moins deux questions ici, peut-être trois.
J'espère que le code ci-dessous le démontre de manière utile. Le package de drapeau était l'un des premiers forfaits que je devais me couper les dents. À l'époque, ce n'était pas évident, bien que la documentation s'améliore. P>
FYI, au moment de cette écriture, j'utilise http://weekly.golang.org comme référence. Le site principal est beaucoup trop obsolète. P>
Voir comment gofmt Code>
, Godoc code>
et autres poignée la même chose. p>
C'est une réponse vraiment paresseuse. Vous n'avez même pas lié à un fichier spécifique, mais plutôt à un repo avec des milliers de fichiers dans eux chacun. Les exemples du monde réel sont ici: Github.com/golang/golang/ Go / BLOB / MASTER / SRC / CRYPTO / DSA / DSA.GO
La chose la plus proche à une variable globale en déplacement est un paquet em> variable. Vous définissez une liste d'arguments de ligne de commande assis dans une variable d'emballage, OS.ARGS, vous attendant à y accéder. Vous n'avez même pas besoin du package de drapeau. P>