
Розробка CLI
Дизайн CLI, пакет flag, cobra/viper, структурування CLI-застосунків, exit code, stdin/stdout/stderr, патерни UX, тестування CLI-застосунків
1Яка основна роль пакета flag у Go?
Яка основна роль пакета flag у Go?
Відповідь
Пакет flag надає простий API для парсингу аргументів командного рядка. Він дозволяє визначати flag із попередньо визначеними типами (string, int, bool тощо) та автоматично обробляє парсинг і валідацію. Цей пакет є частиною стандартної бібліотеки та підходить для простих CLI.
2Як визначити string flag за допомогою пакета flag та отримати його значення?
Як визначити string flag за допомогою пакета flag та отримати його значення?
Відповідь
Функція flag.String повертає вказівник на значення flag. Після виклику flag.Parse() до значення можна отримати доступ, розіменувавши вказівник. Також можна використати flag.StringVar для прямого зв'язування з наявною змінною.
3У чому різниця між flag.String та flag.StringVar?
У чому різниця між flag.String та flag.StringVar?
Відповідь
flag.String виділяє нову змінну та повертає вказівник на неї, тоді як flag.StringVar прив'язує flag до наявної змінної, переданої за адресою. StringVar корисний, коли змінну потрібно визначити на рівні пакета або коли хочеться уникнути розіменування.
Який exit code слід використовувати, коли CLI-застосунок стикається з помилкою недійсних аргументів?
Яка основна перевага Cobra над стандартним пакетом flag?
+17 питань зі співбесід
Інші теми співбесід Go
Основи Go
Структури даних Go
Інтерфейси Go
Обробка помилок
Основи goroutines
Channels
Go Modules
HTTP-сервер
HTTP-клієнт
Кодування JSON
Database/SQL
Пакет context
Testing
Патерни конкурентності
Примітиви синхронізації
Веб-фреймворки Go
Проєктування REST API
gRPC
Reflection
Керування пам'яттю
Оптимізація продуктивності
Generics
Go Design Patterns
Microservices
Безпека та автентифікація
Docker & Containerization
Kubernetes Basics
Просунутий Go
Опануй Go для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно