Общепризнанные

Cobra & Viper

Эти два пакета встречаются повсеместно. Cobra — разработка CLI для программы, Viper — работа с конфигурационными файлами.

Cobra

Install

Зависимость в проект:

go get -u github.com/spf13/cobra@latest

Затем в коде:

import "github.com/spf13/cobra"

Очень помогает управление через Cobra CLI:

go install github.com/spf13/cobra-cli@latest

Cobra CLI: Init Project

После того как мы создали проект:

cd $HOME/code 
mkdir myapp
cd myapp
go mod init github.com/spf13/myapp

Заходим и инициализируем Cobra:

Команда создаст main.go файл и файлы для запуска в директории cmd.

Cobra CLI: Add commands to a project

Добавляем команды:

Добавить подкоманду команде config:

Теперь мы можем использовать эти команды:

Далее идем в файлы команд в cmd и кастомизируем их под себя, подробнее в The Cobra User Guide.

Viper

Others

Aurora — вывод в консоль красками https://github.com/logrusorgru/aurora

Atomic — обертка над базовыми типами: https://pkg.go.dev/go.uber.org/atomic

Last updated