Это PET-проект на Go. В рамках него я сделал калькулятор, который преобразует ввод пользователя в обратную польскую запись и вычисляет его. Ввод на калькулятор осуществляется через телеграмм бота, каждый корректный запрос пользователя записывается в базу данных. Также есть возможность по HTTP-запросу получить данные из базы данных.
Бот расположен здесь: https://t.me/calcoalcobot
Он принимает операции: +, -, *, /, ^ (возведение в степень), ~ (унарный минус), ! (факториал).
В качестве БД я использовал Postgresql. Для Telegram API я использовал эту библиотеку github.com/go-telegram-bot-api/telegram-bot-api/v5.
В основном же я использовал стандартные библиотеки на Go.
Пример взятия данных из БД с http сервера

Можно попробовать сделать самому: http://arlet.space:9900/calcobot?username=shulga02
Во время разработки столкнулся со следующими проблемами:
- Обработка ошибок. Непривычно было обрабатывать ошибки без try-catch, а в C-стиле. В Go это реализовано более удобно чем в C благодаря нескольким возвращаемым значениям. Но я считаю, что я не до конца разобрался в этом вопросе, и буду в будущем по другому обрабатывать ошибки.
- Реализация нескольких стеков. Так как в Go нет дженериков, то пришлось реализовать два стека с +/- похожими операциями. Пока не нашёл адекватного решения для этого, возможно с написанием большого числа программ, найду решения.
- Ещё было непривычно работать с внедрением структур/интерфейсов и сокрытием этого внедрения. Но в итоге после изучения, как делают другие разработчики на Go (репозиторий Docker на github), я разобрался и спокойно применяю внедрение.