Go

Desarrollo de CLI

Diseño de CLI, paquete flag, cobra/viper, estructuración de apps CLI, exit codes, stdin/stdout/stderr, patrones UX, testing de apps CLI

20 preguntas de entrevista·
Senior
1

¿Cuál es el rol principal del paquete flag en Go?

Respuesta

El paquete flag proporciona una API simple para parsear los argumentos de línea de comandos. Permite definir flags con tipos predefinidos (string, int, bool, etc.) y gestiona automáticamente el parsing y la validación. Este paquete forma parte de la biblioteca estándar y es adecuado para CLI simples.

2

¿Cómo definir un flag string con el paquete flag y recuperar su valor?

Respuesta

La función flag.String retorna un puntero al valor del flag. Después de llamar a flag.Parse(), se puede acceder al valor desreferenciando el puntero. También es posible usar flag.StringVar para vincular directamente a una variable existente.

3

¿Cuál es la diferencia entre flag.String y flag.StringVar?

Respuesta

flag.String aloja una nueva variable y retorna un puntero a ella, mientras que flag.StringVar vincula el flag a una variable existente pasada por dirección. StringVar es útil cuando la variable debe definirse a nivel de paquete o cuando se quiere evitar las desreferenciaciones.

4

¿Qué código de salida usar cuando una aplicación CLI encuentra un error de argumentos inválidos?

5

¿Cuál es la principal ventaja de Cobra frente al paquete flag estándar?

+17 preguntas de entrevista

Domina Go para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis