Go

Développement CLI

CLI design, flag package, cobra/viper, structuring CLI apps, exit codes, stdin/stdout/stderr, UX patterns, testing CLI apps

20 questions d'entretien·
Senior
1

Quel est le rôle principal du package flag dans Go ?

Réponse

Le package flag fournit une API simple pour parser les arguments en ligne de commande. Il permet de définir des flags avec des types prédéfinis (string, int, bool, etc.) et gère automatiquement le parsing et la validation. Ce package fait partie de la bibliothèque standard et convient aux CLI simples.

2

Comment définir un flag string avec le package flag et récupérer sa valeur ?

Réponse

La fonction flag.String retourne un pointeur vers la valeur du flag. Après avoir appelé flag.Parse(), la valeur peut être accédée en déréférençant le pointeur. Il est aussi possible d'utiliser flag.StringVar pour lier directement à une variable existante.

3

Quelle est la différence entre flag.String et flag.StringVar ?

Réponse

flag.String alloue une nouvelle variable et retourne un pointeur vers celle-ci, tandis que flag.StringVar lie le flag à une variable existante passée par adresse. StringVar est utile quand la variable doit être définie au niveau du package ou quand on veut éviter les déréférencements.

4

Quel code de sortie utiliser quand une application CLI rencontre une erreur d'arguments invalides ?

5

Quel est l'avantage principal de Cobra par rapport au package flag standard ?

+17 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement