J'écris un programme CLI dans GO et j'ai besoin de pouvoir passer une assez longue liste d'arguments à la fonction principale. À l'heure actuelle, j'utilise la méthode standard pour passer des arguments (valeurs séparées par des espaces), puis les récupérer en utilisant os.Args [index].Meilleur moyen de passer de longs arguments dans un programme GoLang CLI et ses limites
Mes questions sont les suivantes:
- Y at-il une limite au nombre d'arguments, on peut passer?
- Y a-t-il une limite à la longueur d'un argument de chaîne?
- Existe-t-il un autre moyen d'y parvenir et, si oui, comment?
Les limites dépendent toutes du système d'exploitation. Vous pouvez passer des arguments de n'importe quelle autre façon, via des fichiers, sérialisés sur stdin, des variables d'environnement, etc. – JimB
Avez-vous envisagé d'utiliser un paquet pour gérer vos arguments de ligne de commande? Un paquet comme [urfave/cli] (https://github.com/urfave/cli) pourrait être utile. – doykle
En ce qui concerne le point 3 de votre question, une autre façon d'y parvenir - je suggère d'utiliser un fichier de configuration (quelque chose de simple comme yaml) devrait faire. De cette façon, vous passez juste un argument de ligne de commande, chemin d'accès au fichier de configuration. –