Go

Розробка CLI

Дизайн CLI, пакет flag, cobra/viper, структурування CLI-застосунків, exit code, stdin/stdout/stderr, патерни UX, тестування CLI-застосунків

20 питань зі співбесід·
Senior
1

Яка основна роль пакета flag у Go?

Відповідь

Пакет flag надає простий API для парсингу аргументів командного рядка. Він дозволяє визначати flag із попередньо визначеними типами (string, int, bool тощо) та автоматично обробляє парсинг і валідацію. Цей пакет є частиною стандартної бібліотеки та підходить для простих CLI.

2

Як визначити string flag за допомогою пакета flag та отримати його значення?

Відповідь

Функція flag.String повертає вказівник на значення flag. Після виклику flag.Parse() до значення можна отримати доступ, розіменувавши вказівник. Також можна використати flag.StringVar для прямого зв'язування з наявною змінною.

3

У чому різниця між flag.String та flag.StringVar?

Відповідь

flag.String виділяє нову змінну та повертає вказівник на неї, тоді як flag.StringVar прив'язує flag до наявної змінної, переданої за адресою. StringVar корисний, коли змінну потрібно визначити на рівні пакета або коли хочеться уникнути розіменування.

4

Який exit code слід використовувати, коли CLI-застосунок стикається з помилкою недійсних аргументів?

5

Яка основна перевага Cobra над стандартним пакетом flag?

+17 питань зі співбесід

Опануй Go для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно