Потрясающе
Мы используем сообщество Slack Golang Bridge для мгновенного общения. Чтобы присоединиться, заполните форму здесь.
Спонсорство:
Особая благодарность
Ваше приложение, готовое к использованию на предприятии. Начните продавать корпоративным клиентам с помощью всего лишь нескольких строк кода. Добавьте систему единого входа (и многое другое) за считанные минуты, а не месяцы. |
|
У Awesome Go нет ежемесячной платы , но у нас есть сотрудники, которые усердно работают , чтобы поддерживать его работу. Собранными деньгами мы сможем отплатить за усилия каждого участника! Вы можете увидеть, как мы рассчитываем наши счета и распространение, поскольку они открыты для всего сообщества. Хотите поддержать проект, нажмите здесь.
Кураторский список потрясающих фреймворков, библиотек и программного обеспечения Go. Вдохновлен Awesome-Python.
Содействие:
Пожалуйста, сначала ознакомьтесь с правилами внесения взносов. Спасибо всем участникам; ты крут!
Если вы видите здесь пакет или проект, который больше не поддерживается или не подходит, отправьте запрос на улучшение этого файла. Спасибо!
Содержание
- Потрясающе
- Содержание
- Модель актера
- Искусственный интеллект
- Аудио и музыка
- Аутентификация и OAuth
- Блокчейн
- Создание ботов
- Автоматизация сборки
- Командная строка
- Расширенный интерфейс консоли
- Стандартный интерфейс командной строки
- Конфигурация
- Непрерывная интеграция
- CSS-препроцессоры
- Платформы интеграции данных
- Структуры данных и алгоритмы
- Битовая упаковка и сжатие
- Наборы битов
- Фильтры Блума и Кукушки
- Структура данных и коллекции алгоритмов
- Итераторы
- Карты
- Разные структуры данных и алгоритмы
- Обнуляемые типы
- Очереди
- Наборы
- Анализ текста
- Деревья
- Трубы
- База данных
- Тайники
- Базы данных, реализованные на Go
- Миграция схемы базы данных
- Инструменты базы данных
- Построители SQL-запросов
- Драйверы баз данных
- Интерфейсы для нескольких серверов
- Драйверы реляционных баз данных
- Драйверы баз данных NoSQL
- Поисковые и аналитические базы данных
- Дата и время
- Распределенные системы
- Динамический DNS
- Электронная почта
- Встраиваемые языки сценариев
- Обработка ошибок
- Обработка файлов
- Финансовый
- Формы
- Функциональный
- Разработка игр
- Генераторы
- Географический
- Компиляторы Go
- Горутины
- графический интерфейс
- Аппаратное обеспечение
- Изображения
- IoT (Интернет вещей)
- Планировщик заданий
- JSON
- Ведение журнала
- Машинное обучение
- Обмен сообщениями
- Майкрософт Офис
- Майкрософт Эксель
- Microsoft Word
- Разнообразный
- Внедрение зависимостей
- Макет проекта
- Струны
- Без категории
- Обработка естественного языка
- Определение языка
- Морфологические анализаторы
- Слугификаторы
- Токенизаторы
- Перевод
- Транслитерация
- сеть
- OpenGL
- ОРМ
- Управление пакетами
- Производительность
- Язык запросов
- Отражение
- Встраивание ресурсов
- Наука и анализ данных
- Безопасность
- Сериализация
- Серверные приложения
- Потоковая обработка
- Шаблонизаторы
- Тестирование
- Платформы тестирования
- Насмехаться
- Фаззинг и дельта-отладка/сокращение/сокращение
- Selenium и инструменты управления браузером
- Неудачная инъекция
- Обработка текста
- Форматеры
- Языки разметки
- Парсеры/кодеры/декодеры
- Регулярные выражения
- Санитария
- Скребки
- RSS
- Утилита/Разное
- Сторонние API
- Утилиты
- UUID
- Валидация
- Контроль версий
- Видео
- Веб-фреймворки
- Промежуточное ПО
- Реальное промежуточное программное обеспечение
- Библиотеки для создания промежуточного программного обеспечения HTTP
- Маршрутизаторы
- Веб-сборка
- Окна
- Платформы рабочих процессов
- XML
- Нулевое доверие
- Анализ кода
- Плагины редактора
- Перейти к созданию инструментов
- Инструменты Go
- Пакеты программного обеспечения
- Инструменты DevOps
- Другое программное обеспечение
- Ресурсы
- Тесты
- Конференции
- Электронные книги
- Электронные книги для покупки
- Бесплатные электронные книги
- Суслики
- Встречи
- Руководства по стилю
- Социальные сети
- Веб-сайты
- Учебники
- Управляемое обучение
⬆ вернуться наверх
Модель актера
Библиотеки для создания программ на основе актеров.
- Ergo — основанная на актерах платформа с сетевой прозрачностью для создания событийно-ориентированной архитектуры в Golang. Вдохновлен Эрлангом.
- Goakt — платформа быстрых и распределенных актеров, использующая буферы протоколов в качестве сообщений для Golang.
- Hollywood — невероятно быстрый и легкий движок Actor, написанный на Golang.
- ProtoActor — Proto Actor — сверхбыстрые распределенные актеры для Go, C# и Java/Kotlin.
Искусственный интеллект
Библиотеки для создания программ, использующих ИИ.
- chromem-go — встраиваемая векторная база данных для Go с Chroma-подобным интерфейсом и нулевыми сторонними зависимостями. В памяти с возможностью сохранения.
- fun — Самый простой, но мощный способ использования больших языковых моделей (LLM) в Go.
- langchaingo — LangChainGo — это платформа для разработки приложений на основе языковых моделей.
- LocalAI — альтернатива OpenAI с открытым исходным кодом, самостоятельные модели искусственного интеллекта.
- Оллама — локально запускайте большие языковые модели.
- OllamaFarm — управление, балансировка нагрузки и отказоустойчивость пакетов Ollamas.
⬆ вернуться наверх
Аудио и музыка
Библиотеки для управления звуком.
- flac — встроенный кодер/декодер Go FLAC с поддержкой потоков FLAC.
- gaad — собственный парсер битового потока Go AAC.
- GoAudio — собственная библиотека обработки аудио Go.
- gosamplerate — привязки libsamplerate для go.
- id3v2 — библиотека декодирования и кодирования ID3 для Go.
- малго - Мини аудиотека.
- minimp3 — облегченная библиотека декодера MP3.
- Oto — низкоуровневая библиотека для воспроизведения звука на нескольких платформах.
- PortAudio — привязки Go для библиотеки аудио ввода-вывода PortAudio.
⬆ вернуться наверх
Аутентификация и OAuth
Библиотеки для реализации схем аутентификации.
- authboss — Модульная система аутентификации для Интернета. Он пытается удалить как можно больше шаблонов и «сложных вещей», чтобы каждый раз, когда вы запускаете новый веб-проект в Go, вы могли подключить его, настроить и начать создавать свое приложение без необходимости каждый раз создавать систему аутентификации. .
- branca — реализация спецификации токена branca для Golang 1.15+.
- casbin — библиотека авторизации, поддерживающая такие модели управления доступом, как ACL, RBAC и ABAC.
- cookietxt — предоставляет анализатор файлов формата cookie.txt.
- go-guardian — Go-Guardian — это библиотека golang, которая предоставляет простой, чистый и идиоматический способ создания мощного современного API и веб-аутентификации, поддерживающей LDAP, базовую аутентификацию, аутентификацию на основе токена и сертификата.
- go-jose — довольно полная реализация спецификаций JSON Web Token, JSON Web Signatures и JSON Web Encryption рабочей группы JOSE.
- gologin — цепочки обработчиков для входа в систему с помощью поставщиков аутентификации OAuth1 и OAuth2.
- gorbac — предоставляет облегченную реализацию управления доступом на основе ролей (RBAC) в Golang.
- gosession — это быстрый сеанс для net/http в GoLang. Этот пакет, возможно, является лучшей реализацией механизма сеансов или, по крайней мере, пытается им стать.
- goth — предоставляет простой, понятный и идиоматический способ использования OAuth и OAuth2. Обрабатывает несколько провайдеров «из коробки».
- jeff — Простое, гибкое, безопасное и идиоматичное управление веб-сессиями с помощью подключаемых серверных частей.
- jwt — библиотека облегченных веб-токенов JSON (JWT).
- jwt — безопасные, простые и быстрые веб-токены JSON для Go.
- jwt-auth — промежуточное программное обеспечение JWT для http-серверов Golang со множеством параметров конфигурации.
- jwt-go — полнофункциональная реализация веб-токенов JSON (JWT). Эта библиотека поддерживает синтаксический анализ и проверку, а также генерацию и подписание JWT.
- jwx — модуль Go, реализующий различные технологии JWx (JWA/JWE/JWK/JWS/JWT, также известный как JOSE)
- keto — реализация с открытым исходным кодом (Go) «Занзибар: согласованная глобальная система авторизации Google». Поставляется gRPC, REST API, newSQL и простой и детализированный язык разрешений. Поддерживает ACL, RBAC и другие модели доступа.
- loginsrv — микросервис входа в систему JWT с подключаемыми серверными модулями, такими как OAuth2 (Github), htpasswd, osiam.
- oauth2 — преемник goauth2. Общий пакет OAuth 2.0, включающий поддержку JWT, API Google, Compute Engine и App Engine.
- oidc — простая в использовании клиентская и серверная библиотека OpenID Connect, написанная для Go и сертифицированная OpenID Foundation.
- openfga — реализация детальной авторизации на основе документа «Занзибар: согласованная глобальная система авторизации Google». При поддержке CNCF.
- osin — библиотека сервера Golang OAuth2.
- otpgen — Библиотека для генерации кодов TOTP/HOTP.
- otpgo — библиотека одноразовых паролей на основе времени (TOTP) и одноразовых паролей на основе HMAC (HOTP) для Go.
- paseto — реализация платформо-независимых токенов безопасности на Golang (PASETO).
- Permissions2 — библиотека для отслеживания пользователей, состояний входа и разрешений. Использует безопасные файлы cookie и bcrypt.
- Scope — легко управляйте областями действия OAuth2 в Go.
- scs — диспетчер сеансов для HTTP-серверов.
- securecookie — эффективное безопасное кодирование/декодирование файлов cookie.
- session — управление сеансами Go для веб-серверов (включая поддержку Google App Engine — GAE).
- сеансы — невероятно простой, высокопроизводительный и настраиваемый сервис сеансов для http-серверов Go.
- sessionup — простой, но эффективный пакет управления и идентификации HTTP-сессий.
- sjwt — Простой генератор и парсер jwt.
⬆ вернуться наверх
Блокчейн
Инструменты для построения блокчейнов.
- Cometbft — распределенный, византийский отказоустойчивый, детерминированный механизм репликации конечного автомата. Это форк Tendermint Core, реализующий алгоритм консенсуса Tendermint.
- космос-sdk — платформа для создания публичных блокчейнов в экосистеме Cosmos.
- gno — комплексный набор смарт-контрактов, созданный на основе Golang и Gnolang, детерминированного, специально созданного варианта Go для блокчейнов.
- go-ethereum — официальная реализация Go протокола Ethereum.
- gosemble — платформа на основе Go для создания сред выполнения, совместимых с Polkadot/Substrate.
- gossamer — реализация хоста Polkadot на языке Go.
- kubo — платформа блокчейна, реализованная на Go. Он обеспечивает хранилище с адресацией по содержимому, которое можно использовать для децентрализованного хранения в DApps. Он основан на протоколе IPFS.
- lnd — Полная реализация узла Lighting Network.
- solana-go — библиотека Go для взаимодействия с интерфейсами Solana JSON RPC и WebSocket.
- endermint — высокопроизводительное промежуточное программное обеспечение для преобразования конечного автомата, написанного на любом языке программирования, в византийский отказоустойчивый реплицируемый конечный автомат с использованием протоколов консенсуса Tendermint и блокчейна.
⬆ вернуться наверх
Создание ботов
Библиотеки для создания и работы с ботами.
- bot — библиотека Telegram Bot с нулевой зависимостью и дополнительными компонентами пользовательского интерфейса.
- echotron — элегантная и параллельная библиотека для Telegram-ботов на Go.
- ephemeral-roles — бот Discord для управления эфемерными ролями на основе присутствия участников голосового канала.
- go-chat-bot — бот IRC, Slack и Telegram, написанный на Go.
- go-joe — библиотека ботов общего назначения, вдохновленная Hubot, но написанная на Go.
- go-sarah — Платформа для создания бота для нужных чат-сервисов, включая LINE, Slack, Gitter и других.
- go-tg — создано на основе официальной документации Клиентская библиотека Go для доступа к Telegram Bot API, включающая элементы питания для создания сложных ботов.
- go-tgbot — оболочка Pure Golang Telegram Bot API, созданная на основе файла swagger, сеансового маршрутизатора и промежуточного программного обеспечения.
- go-twitch-irc — Библиотека для написания ботов для чата twitch.tv
- Golang CryptoTrading Bot — реализация консольного торгового бота для бирж криптовалют на golang.
- govkbot — Простая библиотека ботов ВК Go.
- Hanu — Фреймворк для написания ботов Slack.
- Kelp — официальный торговый и маркет-мейкерский бот для Stellar DEX. Работает «из коробки», написан на Golang, совместим с централизованными биржами и пользовательскими торговыми стратегиями.
- Ларри - Ларри? — это действительно простой генератор ботов для Твиттера, который отправляет твиты случайным репозиториям из Github, встроенным в Go.
- margelet — Фреймворк для создания ботов Telegram.
- micha — API библиотеки Go для бота Telegram.
- Оливия — чат-бот, созданный на основе искусственной нейронной сети.
- slack-bot — готовый к использованию Slack Bot для ленивых разработчиков: пользовательские команды, Jenkins, Jira, Bitbucket, Github...
- Slacker — простой в использовании фреймворк для создания ботов Slack.
- slackscot — еще один фреймворк для создания ботов Slack.
- tbot — бот-сервер Telegram с API, похожим на net/http.
- telebot — фреймворк Telegram-бота написан на Go.
- telego — API-библиотека Telegram Bot для Golang с полной реализацией API «один к одному».
- telegram-bot-api — Простой и понятный клиент Telegram-бота.
- teleterm — команда терминала Telegram Bot Exec.
- Теникс — Сервис-ориентированный IRC-бот, использующий Redis и JSON для обмена сообщениями.
- wayback — бот для Telegram, Mastodon, Slack и других платформ обмена сообщениями, архивирующий веб-страницы.
⬆ вернуться наверх
Автоматизация сборки
Библиотеки и инструменты помогают автоматизировать сборку.
- 1build — инструмент командной строки для удобного управления командами, специфичными для проекта.
- air — Air — живая перезагрузка для приложений Go.
- anko — Простой наблюдатель приложений для нескольких языков программирования.
- gaper — собирает и перезапускает проект Go при его сбое или изменении некоторых наблюдаемых файлов.
- Гилберт — Система сборки и выполнения задач для проектов Go.
- gob — Gradle/Maven-подобный инструмент сборки для проектов Go.
- goyek — Создание конвейеров сборки в Go.
- mage — Mage — это инструмент сборки, похожий на make/rake, использующий Go.
- mmake — Современная марка.
- осознайте - идите, создайте систему с наблюдателями за файлами и живите, чтобы перезагрузиться. Запускайте, собирайте и наблюдайте за изменениями файлов с помощью настраиваемых путей.
- Задача - простая альтернатива «Сделать».
- Taskctl — параллельный запуск задач.
- xc — исполнитель задач с задачами, определенными в README.md, исполняемый файл с уценкой.
⬆ вернуться наверх
Командная строка
Расширенный интерфейс консоли
Библиотеки для создания консольных приложений и консольных пользовательских интерфейсов.
- asciigraph — пакет Go для создания облегченного линейного графика ASCII ╭┈╯ в приложениях командной строки без каких-либо других зависимостей.
- aurora — цвета терминала ANSI, поддерживающие fmt.Printf/Sprintf.
- box-cli-maker — создавайте индивидуально настроенные коробки для вашего CLI.
- bubble-table — компонент интерактивного стола для bubbletea.
- Bubbles - компоненты TUI для Bubbletea.
- bubbletea — платформа Go для создания терминальных приложений на основе архитектуры Elm.
- cfmt — Контекстный fmt, вдохновленный классами цветов начальной загрузки.
- cfmt — простой и удобный форматированный стилизованный вывод, полностью совместимый с библиотекой fmt.
- chalk — Интуитивно понятный пакет для оформления вывода на терминал/консоль.
- colorize — библиотека Go для цветного текста ANSI в терминалах.
- crab-config-files-templating — инструмент создания шаблонов динамических файлов конфигурации для файлов манифеста Kubernetes или общих файлов конфигурации.
- ctc — неинвазивная межплатформенная библиотека цветов терминала не требует изменения метода печати.
- go-ataman — библиотека Go для рендеринга цветных текстовых шаблонов ANSI в терминалах.
- go-colorable — Раскрашиваемый писатель для Windows.
- go-colortext — библиотека Go для вывода цвета в терминалах.
- go-isatty — isatty для голанга.
- go-palette — библиотека Go, которая предоставляет элегантные и удобные определения стилей с использованием цветов ANSI. Полностью совместим и включает в себя библиотеку fmt для удобной компоновки терминалов.
- go-prompt — библиотека для создания мощной интерактивной подсказки, вдохновленная набором инструментов Python-prompt-toolkit.
- gocui — минималистская библиотека Go, предназначенная для создания пользовательских интерфейсов консоли.
- gommon/color — стиль текста терминала.
- gookit/color — библиотека инструментов цветопередачи терминала, поддержка 16 цветов, 256 цветов, выход цветопередачи RGB, совместимая с Windows.
- блеск для губ. Декларативно определите стили цвета, формата и макета в терминале.
- маркер — Самый простой способ сопоставить и пометить строки для красочных выводов терминала.
- mpb — мульти-индикатор выполнения для терминальных приложений.
- ProgressBar — базовый потокобезопасный индикатор выполнения, который работает в каждой ОС.
- pterm — библиотека для украшения вывода консоли на любой платформе с помощью множества комбинируемых компонентов.
- simpletable — Простые таблицы в терминале с Go.
- spinner — пакет Go, позволяющий легко предоставить счетчику терминала дополнительные опции.
- tabby — крошечная библиотека для очень простых таблиц Golang.
- table — небольшая библиотека для таблиц на основе цвета терминала.
- tabular — печатайте таблицы ASCII из утилит командной строки без необходимости передавать большие наборы данных в API.
- termbox-go — Termbox — это библиотека для создания кроссплатформенных текстовых интерфейсов.
- termdash — панель терминала Go, основанная на termbox-go и вдохновленная termui.
- termenv — расширенная поддержка стилей и цветов ANSI для ваших терминальных приложений.
- termui — панель управления терминалом Go, основанная на termbox-go и вдохновленная благословением-contrib.
- uilive — Библиотека для обновления вывода терминала в реальном времени.
- uiprogress — Гибкая библиотека для отображения индикаторов выполнения в терминальных приложениях.
- uitable — библиотека для улучшения читаемости в терминальных приложениях с использованием табличных данных.
- yacspin — еще один пакет CLi Spinner для работы со счетчиками терминала.
⬆ вернуться наверх
Стандартный интерфейс командной строки
Библиотеки для создания стандартных или базовых приложений командной строки.
- acmd — простой, полезный и продуманный пакет CLI в Go.
- argparse — анализатор аргументов командной строки, созданный на основе модуля Python argparse.
- argv — библиотека Go для разделения строки командной строки на массив аргументов с использованием синтаксиса bash.
- carapace — генератор завершения аргументов команд для spf13/cobra.
- carapace-bin — средство завершения аргументов нескольких команд с несколькими оболочками.
- carapace-spec — Определите простые дополнения, используя файл спецификации.
- кульминация — Альтернативный CLI с «человеческим лицом», в духе команды Go.
- clîr — Простая и понятная библиотека CLI. Зависимость свободна.
- cmd — расширяет стандартный пакет
flag
для поддержки подкоманд и многого другого идиоматическим способом. - cmdr — стиль POSIX/GNU, библиотека Go пользовательского интерфейса командной строки, подобная getopt.
- cobra — командир для современных взаимодействий Go CLI.
- командная цепочка — библиотека Go для настройки и запуска цепочек команд, таких как конвейерная обработка в оболочках Unix.
- Commandeer — приложения CLI, удобные для разработчиков: настраивает флаги, значения по умолчанию и использование на основе полей и тегов структуры.
- Complete — Запись завершений bash с помощью команды Go + Go bash завершение.
- Dnote — простой блокнот командной строки с синхронизацией нескольких устройств.
- elvish — выразительный язык программирования и универсальная интерактивная оболочка.
- env — конфигурация среды на основе тегов для структур.
- flag — простая, но мощная библиотека анализа параметров командной строки для подкоманд, поддерживающих Go.
- flaggy — надежный и идиоматический пакет флагов с отличной поддержкой подкоманд.
- flagvar — коллекция типов аргументов флагов для стандартного пакета
flag
Go. - go-andotp — программа CLI для шифрования/дешифрования файлов и файлов OTP. Можно использовать и как библиотеку.
- go-arg — анализ аргументов на основе структур в Go.
- go-commander — библиотека Go для упрощения рабочего процесса CLI.
- go-flags — парсер параметров командной строки go.
- go-getoptions — анализатор опций Go, вдохновленный гибкостью Perl GetOpt::Long.
- gocmd — библиотека Go для создания приложений командной строки.
- hiboot cli — среда приложений cli с автоматической настройкой и внедрением зависимостей.
- job - РАБОТА, сделайте свою краткосрочную команду долгосрочной работой.
- kingpin — командная строка и анализатор флагов, поддерживающий подкоманды (заменены
kong
; см. ниже). - liner — библиотека Go readline для интерфейсов командной строки.
- mcli — минимальная, но очень мощная библиотека cli для Go.
- mitcellh/cli — библиотека Go для реализации интерфейсов командной строки.
- mkideal/cli — многофункциональный и простой в использовании пакет командной строки, основанный на тегах структуры golang.
- mow.cli — библиотека Go для создания приложений CLI со сложным анализом и проверкой флагов и аргументов.
- ops — Unikernel Builder/Orchestrator.
- pflag — замена пакета флагов Go, реализующая --flags в стиле POSIX/GNU.
- Readline Shell-библиотека с современными и простыми в использовании функциями пользовательского интерфейса.
- sand — Простой API для создания интерпретаторов и многого другого.
- sflags — генератор флагов на основе структуры для flag, urfave/cli, pflag, cobra, kingpin и других библиотек.
- strumt — Библиотека для создания цепочки подсказок.
- subcmd — другой подход к анализу и выполнению подкоманд. Работает вместе со стандартным пакетом
flag
. - опрос. Создавайте интерактивные и доступные подсказки с полной поддержкой терминалов Windows и posix.
- teris-io/cli — Простой и полный API для создания интерфейсов командной строки в Go.
- ts — инструмент преобразования и сравнения временных меток.
- ukautz/clif — небольшая структура интерфейса командной строки.
- urfave/cli — простой, быстрый и интересный пакет для создания приложений командной строки на Go (ранее codegangsta/cli).
- версия — собирает и отображает информацию о версии CLI в нескольких форматах вместе с уведомлением об обновлении.
- wlog — простой интерфейс ведения журнала, поддерживающий кроссплатформенную цветопередачу и параллелизм.
- wmenu — простая в использовании структура меню для приложений cli, предлагающая пользователям сделать выбор.
⬆ вернуться наверх
Конфигурация
Библиотеки для разбора конфигурации.
- aconfig — Простой, полезный и продуманный загрузчик конфигураций.
- bcl — BCL — это язык конфигурации, аналогичный HCL.
- cleanenv — Минималистичный считыватель конфигураций (из файлов, ENV и куда угодно).
- config — собственная конфигурация облачного приложения. Привяжите ENV к структурам всего в две строки.
- config — настройте свое приложение, используя файлы, переменные среды или флаги в двух строках кода.
- конфигурация — библиотека для инициализации структур конфигурации из переменных окружения, файлов, флагов и тега «по умолчанию».
- configure — обеспечивает настройку через несколько источников, включая JSON, флаги и переменные среды.
- configuro — продуманная платформа загрузки и проверки конфигурации от ENV и Files, ориентированная на приложения, совместимые с 12-фактором.
- confq — формат структурированных данных для настройки библиотеки декодера структур для Go — поддержка нескольких форматов данных
- conita — каскадная загрузка конфигурации из нескольких бэкэндов в структуру.
- conflate — библиотека/инструмент для объединения нескольких файлов JSON/YAML/TOML из произвольных URL-адресов, проверки на соответствие схеме JSON и применения значений по умолчанию, определенных в схеме.
- env — анализировать переменные среды в структуры Go (со значениями по умолчанию).
- env — облегченный пакет для загрузки переменных среды в структуры.
- env — пакет утилит среды с поддержкой демаршалинга в структуры.
- envconfig — прочитайте вашу конфигурацию из переменных среды.
- envh — Помощники для управления переменными среды.
- fig — Маленькая библиотека для чтения конфигурации из файла и из переменных среды (с проверкой и значениями по умолчанию).
- genv — легко читайте переменные среды благодаря поддержке dotenv.
- go-array — пакет Go, который считывает или устанавливает данные из карты, среза или json.
- go-aws-ssm — пакет Go, который извлекает параметры из AWS System Manager — хранилища параметров.
- go-cfg — библиотека предоставляет унифицированный способ чтения данных конфигурации в структуру из различных источников, таких как env, флаги и файлы конфигурации (.json, .yaml, .toml, .env).
- go-conf — Простая библиотека для настройки приложения на основе аннотированных структур. Он поддерживает чтение конфигурации из переменных среды, файлов конфигурации и параметров командной строки.
- go-ini — пакет Go, который маршалирует и демаршалирует INI-файлы.
- go-ssm-config — утилита Go для загрузки параметров конфигурации из AWS SSM (хранилище параметров).
- go-up — простая библиотека конфигурации с рекурсивным разрешением заполнителей и без магии.
- GoCfg — менеджер конфигураций с контрактами на основе структурных тегов, настраиваемыми поставщиками значений, анализаторами и созданием документации. Настраиваемый, но простой.
- goConfig — анализирует структуру как входную и заполняет поля этой структуры параметрами из командной строки, переменными среды и файла конфигурации.
- godotenv — Go-порт библиотеки dotenv Ruby (загружает переменные среды из
.env
). - gofigure — настройка приложения Go стала проще.
- GoLobby/Config — GoLobby Config — это легкий, но мощный менеджер конфигурации для языка программирования Go.
- go/jconf — Модульная конфигурация JSON. Сохраняйте свои структуры конфигурации вместе с кодом, который они настраивают, и делегируйте синтаксический анализ подмодулям, не жертвуя полной сериализацией конфигурации.
- gonfig — анализатор конфигурации на основе тегов, который загружает значения от разных поставщиков в типобезопасную структуру.
- gookit/config — управление конфигурацией приложения (загрузка, получение, установка). поддержка JSON, YAML, TOML, INI, HCL. загрузка нескольких файлов, объединение переопределения данных.
- Harvester — Harvester, простой в использовании пакет статической и динамической конфигурации, поддерживающий заполнение, переменные окружения и интеграцию Consul.
- hjson — Human JSON, формат файла конфигурации для людей. Удобный синтаксис, меньше ошибок, больше комментариев.
- hocon — библиотека конфигурации для работы с форматом HOCON (удобный для человека расширенный набор JSON), поддерживает такие функции, как переменные среды, ссылки на другие значения, комментарии и несколько файлов.
- ingo — флаги сохраняются в конфигурационном файле типа ini.
- ini — пакет Go для чтения и записи INI-файлов.
- ini — анализатор INI и библиотека записи, демаршалирование в структуру, маршалирование в Json, запись файла, просмотр файла.
- joshbetz/config — небольшая библиотека конфигурации для Go, которая анализирует переменные среды, файлы JSON и автоматически перезагружается при SIGHUP.
- kelseyhightower/envconfig — библиотека Go для управления данными конфигурации из переменных среды.
- koanf — Легкая расширяемая библиотека для чтения конфигурации в приложениях Go. Встроенная поддержка JSON, TOML, YAML, env, командной строки.
- konf — Простейший API для чтения/просмотра конфигурации из файла, окружения, флага и облаков (например, AWS, Azure, GCP).
- konfig — составная, наблюдаемая и производительная обработка конфигурации Go для эпохи распределенной обработки.
- kong — парсер командной строки с поддержкой произвольно сложных структур командной строки и дополнительными источниками конфигурации, такими как YAML, JSON, TOML и т. д. (преемник
kingpin
). - mini — пакет Golang для анализа файлов конфигурации в стиле ini.
- nasermirzaei89/env — Простой полезный пакет для чтения переменных среды.
- nfigure — конфигурация на основе структурных тегов для каждой библиотеки из командной строки (стиль Posix и Go); среда, JSON, YAML
- onion — конфигурация на основе слоев для Go. Поддерживает JSON, TOML, YAML, свойства, etcd, env и шифрование с использованием PGP.
- piper — оболочка Viper с наследованием конфигурации и генерацией ключей.
- sonic — невероятно быстрая библиотека сериализации и десериализации JSON.
- store — Облегченный менеджер конфигурации для Go.
- swap — рекурсивное создание/настройка структур в зависимости от среды сборки. (YAML, TOML, JSON и env).
- typenv — Минималистичная библиотека типизированных переменных среды с нулевой зависимостью.
- uConfig — легкое, независимое и расширяемое управление конфигурацией.
- viper — конфигурация Go с клыками.
- xdg — реализация Go спецификации базового каталога XDG и пользовательских каталогов XDG.
- xdg — кроссплатформенный пакет, соответствующий стандарту XDG.
- yamagiconf — «безопасное подмножество» YAML для конфигураций Go.
⬆ вернуться наверх
Непрерывная интеграция
Инструменты для помощи в непрерывной интеграции.
- abstruse — Abstruse — это распределенная платформа CI.
- Bencher — набор инструментов непрерывного сравнительного анализа, предназначенных для выявления снижения производительности в CI.
- CDS — платформа с открытым исходным кодом для CI/CD и автоматизации DevOps корпоративного уровня.
- точка — минимальная локальная первая система непрерывной интеграции, которая использует Docker для одновременного поэтапного выполнения заданий.
- Дрон — Drone — это платформа непрерывной интеграции, построенная на Docker и написанная на Go.
- go-beautiful-html-coverage — действие GitHub для бесплатного отслеживания покрытия кода в ваших запросах на включение с красивым предварительным просмотром HTML.
- go-fuzz-action — используйте встроенное в Go 1.18 нечеткое тестирование в GitHub Actions.
- go-semver-release — автоматизировать семантическое управление версиями репозиториев Git.
- go-test-coverage — инструмент и действие GitHub, которое сообщает о проблемах, когда тестовое покрытие ниже установленного порога.
- gomason — тестируйте, собирайте, подписывайте и публикуйте двоичные файлы go из чистого рабочего пространства.
- gotestfmt — протестируйте вывод для людей.
- goveralls — интеграция Go для системы непрерывного отслеживания покрытия кода Coveralls.io.
- muffet — Быстрая проверка ссылок на веб-сайты в Go, посмотрите альтернативы.
- комбинезоны — обложка проекта Multi-Package go для таких инструментов, как комбинезоны.
- roveralls — инструмент рекурсивного тестирования покрытия.
- дятел — Woodpecker — это форк сообщества системы Drone CI.
⬆ вернуться наверх
CSS-препроцессоры
Библиотеки для предварительной обработки CSS-файлов.
- gcss — препроцессор CSS Pure Go.
- go-libsass — оболочка Go для проекта libsass, 100% совместимого с Sass.
⬆ вернуться наверх
Платформы интеграции данных
Фреймворки для выполнения ELT/ETL
- Benthos — мост потоковой передачи сообщений между рядом протоколов.
- CloudQuery — высокопроизводительная платформа интеграции данных ELT с подключаемой архитектурой.
- omniparser — универсальная библиотека ETL, которая анализирует ввод текста (CSV/txt/JSON/XML/EDI/X12/EDIFACT/и т. д.) в потоковом режиме и преобразует данные в выходные данные JSON с использованием схемы, управляемой данными.
⬆ вернуться наверх
Структуры данных и алгоритмы
Битовая упаковка и сжатие
- бинго — быстрая упаковка собственных типов в байты с нулевым распределением памяти и сохранением лексикографического порядка.
- binpacker — двоичный упаковщик и распаковщик помогает пользователю создавать собственный двоичный поток.
- bit — структура данных Golang с дополнительными функциями обработки битов.
- crunch — пакет Go, реализующий буферы для простой обработки различных типов данных.
- go-ef — реализация кодировки Элиаса-Фано на Go.
- roaring — пакет Go, реализующий сжатые наборы битов.
Наборы битов
- растровое изображение — плотное растровое изображение/набор битов с нулевым распределением памяти и поддержкой SIMD в Go.
- bitset — пакет Go, реализующий наборы битов.
Фильтры Блума и Кукушки
- Bloom — пакет Go, реализующий фильтры Bloom.
- Bloom — фильтры Блума, реализованные в Go.
- Bloom — реализация фильтра Блума в Golang.
- Bloomfilter — еще одна реализация Bloomfilter в Go, совместимая с библиотекой Java Guava.
- Boomfilters — Вероятностные структуры данных для обработки непрерывных, неограниченных потоков.
- cuckoo-filter — фильтр «кукушка»: комплексный фильтр «кукушка», который можно настраивать и оптимизировать по размеру по сравнению с другими орудиями, и при этом доступны все функции, упомянутые в оригинальной статье.
- cuckoofilter — фильтр Cuckoo: хорошая альтернатива подсчетному фильтру Блума, реализованному в Go.
- Ring — реализация высокопроизводительного и потокобезопасного фильтра Блума на Go.
Структура данных и коллекции алгоритмов
- алгоритмы - Алгоритмы и структуры данных. Исследование CLRS.
- go-datastructures — коллекция полезных, производительных и потокобезопасных структур данных.
- боги — Структуры данных Go. Контейнеры, наборы, списки, стеки, карты, BidiMaps, деревья, HashSet и т. д.
- gostl — библиотека структур данных и алгоритмов для go, предназначенная для предоставления функций, аналогичных C++ STL.
Итераторы
- goterator — реализация итератора для отображения и сокращения функциональных возможностей.
- iter — реализация итераторов и алгоритмов STL на языке C++.
Карты
См. также «База данных» для более сложных хранилищ «ключ-значение» и «Деревья» для дополнительных реализаций упорядоченных карт.
- cmap — потокобезопасная параллельная карта для go, поддержка использования
interface{}
в качестве ключа и автоматического масштабирования фрагментов. - dict — Python-подобные словари (dict) для Go.
- go-shelf — постоянный объект, похожий на карту, для языка программирования Go. Поддерживает несколько встроенных хранилищ ключей и значений.
- goradd/maps — общий интерфейс карт Go 1.18+; безопасные карты; заказанные карты; упорядоченные, безопасные карты; и т. д.
Разные структуры данных и алгоритмы
- concurrent-writer — высококонкурентная замена
bufio.Writer
. - conjungo — небольшая, мощная и гибкая библиотека слияния.
- count-min-log — реализация Go. Скетч Count-Min-Log: приблизительный подсчет с помощью приблизительных счетчиков (как скетч Count-Min, но с использованием меньшего количества памяти).
- fsm — пакет конечных автоматов.
- genfuncs — универсальный пакет Go 1.18+, вдохновленный Sequence and Map Kotlin.
- go-generics — универсальные утилиты срезов, карт, наборов, итераторов и горутин.
- go-geoindex — Географический индекс в памяти.
- go-rampart — Определите, как интервалы соотносятся друг с другом.
- go-rquad — деревья квадрантов регионов с эффективным расположением точек и поиском соседей.
- go-tuple — универсальная реализация кортежа для Go 1.18+.
- go18ds — структуры данных Go с использованием дженериков Go 1.18.
- gofal — дробное API для Go.
- gogu — комплексная, многоразовая и эффективная, безопасная для параллельной работы библиотека универсальных функций и структур данных.
- gota — реализация фреймов данных, серий и методов обработки данных для Go.
- скрыть — тип идентификатора с маршалингом в/из хеша для предотвращения отправки идентификаторов клиентам.
- hilbert — пакет Go для сопоставления значений с кривыми, заполняющими пространство, такими как кривые Гильберта и Пеано, и обратно.
- Hyperloglog — реализация HyperLogLog с Sparse, коррекцией смещения LogLog-Beta и сокращением пространства TailCut.
- quadtree — универсальное четырехъядерное дерево с нулевым выделением памяти и 100%-ным тестированием.
- срезы — функции, работающие с срезами; как
package strings
, но адаптированные для работы со срезами. - срезы — чистые, общие функции для срезов.
Обнуляемые типы
- nan — нулевое распределение. Структуры с нулевым значением в одной библиотеке с удобными функциями преобразования, маршаллерами и демаршаллерами.
- null — типы Go, допускающие значение Null, которые можно маршаллировать/демаршаллировать в/из JSON.
- typ — нулевые типы, безопасное преобразование примитивных типов и получение значений из сложных структур.
Очереди
- deque — высокооптимизированная двусторонняя очередь.
- deque — быстрая очередь с кольцевым буфером (двусторонняя очередь).
- goconcurrentqueue — параллельная очередь FIFO.
- топор — Распределенная, отказоустойчивая очередь задач.
- memlog — простая в использовании, легкая, поточно-ориентированная структура данных в памяти, допускающая только добавление, вдохновленная Apache Kafka.
- очередь — несколько потокобезопасных, универсальных реализаций очередей для Go.
Наборы
- dsu — реализация структуры данных Disjoint Set в Go.
- golang-set — Thread-Safe и Non-Thread-Safe высокопроизводительные наборы для Go.
- goset — полезная реализация коллекции Set для Go.
- set — простая реализация структуры данных набора в Go с использованием LinkedHashMap.
Анализ текста
- bleve — Современная библиотека индексирования текста для go.
- Go-Adaptive-Radix-Tree-GO реализация адаптивного Radix Tree.
- GO-EDLIB-GO Сравнение струн и редактирование библиотеки алгоритмов расстояния (Levenshtein, LCS, Hamming, Damerau Levenshtein, Jaro-Winkler и т. Д.) Совместимы с Unicode.
- LEVENSHTEIN - Levenshtein Distance Distance и показатели сходства с настраиваемыми затратами на редактирование и бонусом, подобным Winkler для общего префикса.
- Levenshtein - реализация для расчета расстояния Levenshtein в ходе.
- MSPM - Алгоритм сопоставления с шаблонами с несколькими строккой для поиска информации.
- Parsefields - Инструменты для журналов Parse JSON для сбора уникальных полей и событий.
- Ptrie - реализация префикса.
- Trie - Trie реализация в Go.
Деревья
- HASHSPLIT - разделение байтовых потоков на куски и расположить куски на деревья, с границами, определенными содержанием, а не положением.
- Меркл - Пространственное вычисление корневых хэшей и доказательств корня Меркл.
- Skiplist - Очень быстрая реализация Skiplist.
- Skiplist - реализация Skiplist в Go.
- Треап - постоянная, быстро упорядоченная карта с использованием кучи деревьев.
- TREEMAP-общая карта с ключом с использованием красного черного дерева под капюшоном.
Трубы
- Заказано с модулем GO, который обрабатывает работу одновременно и возвращает вывод в канале в порядке ввода.
- PARAPIPE - FIFO Pipeline, который соответствует выполнению на каждом этапе при сохранении порядка сообщений и результатов.
- Pipeline-реализация трубопроводов с вентилятором и фанатом.
⬆ Вернуться к вершине
База данных
Тайники
Данные хранят с истекающими записями, распределенными хранилищами данных в памяти или подмножествами баз данных на основе файлов.
- 2q - 2q реализация кэша в памяти.
- BCACHE - в конечном итоге последовательно распределенная библиотека кеша в памяти.
- BigCache - Эффективный кэш ключа/значения для гигабайт данных.
- Кэш - Ключ в памяти: хранилище значения с временем истечения, 0 зависимости, <100 LOC, 100% охват.
- Cache2go - Ключ в памяти: кеш значения, который поддерживает автоматическую недействительную деятельность на основе тайм -аутов.
- CACHEGO - Компонент кеша Golang для нескольких драйверов.
- ClusteredBigCache - BigCache с поддержкой кластеризации и истечением индивидуального элемента.
- Когерентность-Go-Client-Полная реализация API Coherence Cache Oracle для приложений GO с использованием GRPC в качестве сетевого транспорта.
- Couchcache - Restful Caching Micro -Service, поддерживаемая сервером Couchbase.
- Echovault - Embeddable Distribute In -Memory Data Store, совместимый с клиентами Redis.
- FASTCACHE - Fast Rate -Safe Inmemory Cache для большого количества записей. Минимизирует накладные расходы GC.
- GCACHE - Библиотека кеша с поддержкой кэшкового кеша, LFU, LRU и ARC.
- GDCACHE - чистая библиотека кэша с чистым неинтрозивным, реализованная Golang, вы можете использовать его для реализации своего собственного распределенного кэша.
- Go-Cache-гибкая многослойная библиотека Go Caching для работы с в памяти и общим кэшем путем принятия шаблона кэша-айд.
- Go-Freelru-без GC, быстрая и общая библиотека LRU Hashmap с дополнительной блокировкой, шардом, выселением и истечением срока действия.
- GO-MCACHE-Быстрый ключ в памяти: библиотека значений/библиотека кэша. Указатель Кэши.
- GOCACHE - полная библиотека кэша GO с несколькими хранилищами (память, memcache, redis, ...), цепные, загружаемые, кэш метрик и многое другое.
- Gocache - библиотека Data Race Free Go Ache с высокой производительностью и функциональностью автоматической приготовления
- GroupCache - GroupCache - это библиотека кэширования и заполнения кэша, предназначенная для замены для Memcached во многих случаях.
- ICACHE-высокопроизводительный, общий, защитный, пакет с нулевой зависимостью.
- IMCACHE - общая библиотека в кеше в памяти. Он поддерживает истечение срока действия, срок действия скольжения, максимальный лимит записей, вызовы выселения и шарнинг.
- NSCACHE - структура кэширования GO, которая поддерживает несколько драйверов источника данных.
- Оттер - высокопроизводительный кеш без блокировки для GO. Много раз быстрее, чем Ритретто и друзья.
- Pocache - Pocache - это минимальный пакет кэша, который фокусируется на превентивной стратегии оптимистического кэширования.
- Sturdyc - библиотека кэширования с расширенными функциями параллелизма, предназначенными для того, чтобы сделать тяжелые приложения ввода -вывода надежными и высокопрофессиональными.
- Theine - высокая производительность, почти оптимальный кэш в памяти с упреждающим истечением TTL и дженериками.
- Timedmap - Карта с истекающими парами ключей.
- Ttlcache - кэш в памяти с истечением срока действия элемента и универсалами.
- TTLCACHE - хранилище значения ключа в памяти с TTL для каждой записи.
Базы данных, реализованные в Go
- Барсук - быстрый магазин ключей в Go.
- BBOLT - встроенная база данных ключей/значения для GO.
- Bitcask-Bitcask-это встроенная, постоянная и быстрое и быстрое база данных для ключей (KV), написанная в Pure Go с предсказуемой производительности чтения/записи, низкой задержкой и высокой пропускной способностью благодаря макету Bitcask On-Disk (LSM+WAL).
- Buntdb - Быстрая, встраиваемая, база данных ключей/значения в памяти для GO с пользовательской индексацией и пространственной поддержкой.
- Clover - легкая база данных NOSQL, ориентированная на документ, написанную в Pure Golang.
- Tockroach - масштабируемая, геореплицированная, транзакционная данных.
- COFFER - Простая база данных с кислотной ключом, которая поддерживает транзакции.
- Столбец-высокопроизводительный, столбчатый, встроенный в память хранилища с растровым индексацией и транзакциями.
- COVENANTSQL - COVENANTSQL - это база данных SQL на блокчейне.
- DataBunker - Личная информация (PII) Служба хранения, созданная в соответствии с GDPR и CCPA.
- Dgraph - масштабируемая, распределенная, низкая задержка, база данных с высокой пропускной способностью.
- DISKV-Домашний магазин, поддерживаемый диском, магазин ключей.
- Dolt - Dolt - это GIT для данных.
- DTF - диспетчер распределенных транзакций. Поддержите XA, TCC, SAGA, надежные сообщения.
- EliasDB-Без зависимостей, транзакционная база данных с API REST, поиск фразы и SQL-подобный язык запросов.
- Godis - Golang реализовал высокопроизводительный сервер Redis и кластер.
- goleveldb - реализация базы данных ключа/значения уровня в Go.
- Заяц - простая система управления базами данных, которая хранит каждую таблицу в виде текстового файла DELIMIMED JSON.
- IMMUDB - IMMUDB - это легкая, высокоскоростная неизменная база данных для систем и приложений, написанных в GO.
- Influxdb - масштабируемое хранилище данных для метрик, событий и аналитики в реальном времени.
- LEDISDB - LEDISDB - это высокопроизводительный NOSQL, такой как Redis, основанный на уровне.
- Левиго - Левиго - обертка для уровня.
- LibrADB - LibrADB - это простая база данных с менее чем 1000 строк кода для обучения.
- Lindb - Lindb - это масштабируемая, высокопроизводительная база данных временных рядов с высокой доступностью.
- Lotusdb - База данных Fast K/V, совместимая с LSM и B+деревом.
- Milvus - Milvus - это векторная база данных для встраивания управления, аналитики и поиска.
- Moss - Moss - это простой двигатель для хранения клавиш LSM, записанный на 100% GO.
- NutsDB - NutsDB - это простой, быстрый, встроенный, постоянный магазин ключей/значения, написанный в Pure Go. Он поддерживает полностью сериализуемые транзакции и многие структуры данных, такие как список, набор, сортированный набор.
- ObjectBox-GO-высокопроизводительная база данных объектов (NOSQL) с GO API.
- Pebble - Rocksdb/Leveldb, вдохновленная базой данных ключей в Go.
- PILADB - Легкий RESTFUL DATABASE ENGINE на основе структур данных стека.
- Pogreb-встроенный магазин клавиш для рабочих нагрузок.
- Прометей - Система мониторинга и база данных временных рядов.
- Pudge - быстрый и простой магазин ключей/значения, написанный с использованием стандартной библиотеки GO.
- Редка - Redis повторно внедрено SQLite.
- Rosedb - встроенная база данных KV на основе LSM+WAL, поддерживает строку, список, хэш, набор, ZSET.
- Rotom - крошечный сервер Redis, построенный с Golang, совместимый с протоколами Resp.
- RQLite - легкая, распределенная, реляционная база данных, построенная на SQLite.
- Tempdb - магазин ключевых значений для временных предметов.
- TIDB - TIDB - это распределенная база данных SQL. Вдохновленный дизайном Google F1.
- TIEDOT - ваша база данных NOSQL, работающая от Голанга.
- UnitDB - База данных Fast Timesseries для IoT, приложения для обмена сообщениями в реальном времени. Access Unitdb с PubSub Over TCP или WebSocket с использованием приложения github.com/unit-io/unitd.
- Vasto-распределенный высокопроизводительный магазин ключевой стоимости. На диске. Возможный последовательный. ХА. Способен расти или сокращаться без перерыва в обслуживании.
- Victoriametrics - Быстрая, эффективная ресурсная и масштабируемая база данных временных рядов с открытым исходным кодом. Может использоваться как долгосрочное удаленное хранение для Прометея. Поддерживает Promql.
Миграция схемы базы данных
- Атлас - инструментарий базы данных. CLI, предназначенный для того, чтобы помочь компаниям лучше работать со своими данными.
- AVRO - Откройте для себя схемы SQL и преобразуйте их в схемы Avro. Запрос SQL записывает Avro Bytes.
- Bytebase - безопасная схема схемы базы данных и контроль версий для команд DevOps.
- Дарвин - Библиотека эволюции схемы базы данных для GO.
- DBMate - легкий инструмент миграции базы данных с варзом.
- Go-Fixtures-светильники в стиле Django для превосходной встроенной базы данных Golang/SQL.
- GO-PG-Migrate-CLI-дружелюбный пакет для управления миграциями GO-PG.
- Go-PG-миграция-пакет GO, чтобы помочь написать миграции с помощью GO-PG/PG.
- Goavro - пакет GO, который кодирует и декодирует данные AVRO.
- Godfish - менеджер по миграции базы данных, работает с родным языком запросов. Поддержка Cassandra, Mysql, Postgres, SQLite3.
- Гус - инструмент миграции базы данных. Вы можете управлять эволюцией вашей базы данных, создав инкрементные сценарии SQL или GO.
- Gorm -Seeder - простой сеялки для базы данных для Gorm Orm.
- Gormigrate - Помощник миграции схемы базы данных для Gorm Orm.
- Libschema - Определите свои миграции отдельно в каждой библиотеке. Миграции для библиотек с открытым исходным кодом. MySQL & PostgreSQL.
- мигрировать - миграция базы данных. CLI и Golang Library.
- Мигратор - Dead Simple Go Библиотека миграции базы данных.
- Мигратор - мигратор базы данных MySQL, разработанный для запуска миграций в ваши функции и обновление схемы базы данных с интуитивным кодом GO.
- Схема - библиотека для встраивания схемы миграции для базы данных/SQL -совместимых баз данных внутри ваших двоичных файлов Go.
- Skeema - Система управления схемами Pure -SQL для MySQL, при поддержке шардинга и внешних инструментов изменения онлайн -схемы.
- Сода - миграция базы данных, создание, ORM и т. Д. Для MySQL, PostgreSQL и SQLite.
- SQL -мигрировать - инструмент миграции базы данных. Позволяет встраивать миграции в приложение с помощью GO-Bindata.
- SQLize - генератор миграции базы данных. Позволяет генерировать миграцию SQL из модели и существующего SQL различными.
Инструменты базы данных
- Chproxy - HTTP -прокси для базы данных Clickhouse.
- Clickhouse -Bulk - собирает небольшие вставки и отправляет большие запросы на серверы Clickhouse.
- DBBENCH - Инструмент сравнительного анализа базы данных с поддержкой нескольких баз данных и сценариев.
- DG - быстрый генератор данных, который создает файлы CSV из сгенерированных реляционных данных.
- Dynago - упростите работу с AWS DynamoDB.
- Gatewayd-Облачный шлюз базы данных и структура для создания приложений, управляемых данными. Как шлюзы API, для баз данных.
- Go -Mysql - Go инструментария для обработки протокола MySQL и репликации.
- Gorm-MultiTenancy-многоцелевая поддержка баз данных управляемых GORM.
- HASQL - Библиотека для доступа к установке базы данных с несколькими хостами.
- Octillery - Go Package для баз данных Sharding (поддерживает каждый ORM или RAW SQL).
- OneDump - Резервное копирование базы данных от разных драйверов до разных направлений с одной командой и конфигурацией.
- pg_timetable - расширенное планирование для Postgresql.
- PGWEB - Интернет -база данных PostgreSQL.
- PREP - Используйте подготовленные операторы SQL без изменения вашего кода.
- PERST - Упростить и ускорить разработку, ⚡ Мгновенное, в реальном времени, высокая производительность в любом приложении Postgres, существующем или новом.
- RDB - Редис RDB -анализатор файла для вторичной разработки и анализа памяти.
- RWDB - RWDB предоставляет возможность чтения реплики для настройки нескольких серверов баз данных.
- Vitess - Vitess предоставляет серверы и инструменты, которые облегчают масштабирование баз данных MySQL для крупномасштабных веб -сервисов.
- Wescale - Wescale - это прокси базы данных, предназначенный для повышения масштабируемости, производительности, безопасности и устойчивости ваших приложений.
SQL -запросы строители
Библиотеки для построения и использования SQL.
- BQB - легкий и легко изучать строитель запросов.
- BUILDSQLX - Библиотека Builder Builder Builder Go Database для PostgreSQL.
- Builq - легко построить SQL -запросы в Go.
- DBQ - Операции базы данных с нулевым пластингом для GO.
- DOTSQL - Библиотека GO, которая помогает вам сохранить SQL -файлы в одном месте и с легкостью использовать их.
- Гендри - неинвазивный строитель SQL и мощный связующий данных.
- Godbal - слой абстракции базы данных (DBAL) для GO. Поддержите SQL Builder и получите результат легко.
- Goqu - идиоматический SQL Builder и библиотека запросов.
- GOSQL - SQL -запросы Builder с лучшими нулевыми значениями поддержки.
- Hotcoal - Закрепите свой SQL вручную от инъекции.
- Igor - Abstraction Layer для PostgreSQL, который поддерживает расширенную функциональность и использует GORM -подобный синтаксис.
- Jet - Framework для написания защитников SQL -запросов типа в GO, с возможностью легко преобразовать результат запроса базы данных в желаемую произвольную структуру объекта.
- Ormlite - легкий пакет, содержащий некоторые ORM -подобные функции и помощники для баз данных SQLite.
- Ozzo-DBX-мощные методы поиска данных, а также DB-алкогольные способности построения запросов.
- QRY - Инструмент, который генерирует постоянные из файлов с помощью необработанных запросов SQL.
- SG - Gen SQL для генерации стандартных SQL (поддержки: CRUD), написанный в Go.
- SQ - SQL SQL -Builder SQL -Builder и Struct Mapper для GO.
- SQLC - генерировать тип -защитный код из SQL.
- SQLF - Fast SQL -запросы.
- SQLINGO - легкий DSL для построения SQL в Go.
- SQRL - SQL -запрос Builder, вилка белки с улучшением производительности.
- Squalus - тонкий слой над пакетом Go SQL, который облегчает выполнение запросов.
- Squirrel - Библиотека GO, которая помогает вам построить запросы SQL.
- xo - генерировать идиоматический код GO для баз данных на основе существующих определений схемы или пользовательских запросов, поддерживающих PostgreSQL, MySQL, SQLite, Oracle и Microsoft SQL Server.
⬆ Вернуться к вершине
Драйверы базы данных
Интерфейсы на множественные бэкэнды
- Cayley - Графическая база данных с поддержкой нескольких бэкэндов.
- DSC - DataStore Connectivity для SQL, NOSQL, структурированные файлы.
- Dynamo-Простая абстракция ключей для хранения алгебраических и типов данных в связи с связанными с которыми в AWS Services: AWS DynamoDB и AWS S3.
- GO Transaction-Manager-менеджер транзакций с несколькими адаптерами (SQL, SQLX, GORM, Mongo, ...) контролирует границы транзакций.
- GOKV - Простая абстракция и реализации хранилища ключей для GO (Redis, Consul и ETCD, BBOLT, BADGERDB, LEANDB, MEMCACHED, DYNAMODB, S3, PostgreSQL, MongoDB, Tackroachdb и многие другие).
Драйверы реляционной базы данных
- Avatica - Apache Avatica/Phoenix SQL Driver для базы данных/SQL.
- BGC - DataStore Connectivity для BigQuery для GO.
- Firebirdsql - Firebird RDBMS SQL Driver For Go.
- GO -ADODB - Microsoft Activex Object Davabase Driver для GO, который использует базу данных/SQL.
- GO -MSSQLDB - Microsoft MSSQL Driver для GO.
- GO -OCI8 - Oracle Driver для GO, который использует базу данных/SQL.
- Go-Sql-Driver/MySQL-драйвер MySQL для Go.
- GO -SQLITE3 - Driver SQLITE3 для GO, который использует базу данных/SQL.
- Godror - Oracle Driver для Go, используя драйвер ODPI -C.
- GOFREETDS - Microsoft MSSQL Driver. Идите обертку по Фрисдсу.
- KSQL - простая и мощная библиотека Golang SQL
- PGX - PostgreSQL Driver поддерживает функции, выходящие за рамки, выявленные базой данных/SQL.
- Свинья - Простая обертка PGX для легко выполнить и сканировать результаты запроса.
- PQ - Pure GO Postgres Driver для базы данных/SQL.
- SQINN -GO - SQLITE с Pure GO.
- SQLHooks - Прикрепите крючки к любому драйверу базы данных/SQL.
- SurreAldb.go - Durrialdb Driver For Go.
- YDB-GO-SDK-Нативный и драйвер базы данных/SQL YDB (база данных Yandex)
Драйверы базы данных NOSQL
- Aerospike-Client-Go-Aerospike Client на языке GO.
- Arangolite - легкий водитель Golang для Arangodb.
- ASC - DataStore Connectivity для Aerospike для GO.
- ForestDB - Go привязки для ForestDB.
- Go -Couchbase - Couchbase Client в Go.
- Go-Mongox-библиотека Go Mongo, основанная на официальном драйвере, включающая оптимизированные операции документов, общее привязки структур с коллекциями, встроенным CRUD, агрегацией, автоматизированными обновлениями поля, проверкой структуры, крючками и программированием на основе плагинов.
- Go -Pilosa - клиентская библиотека Go для Pilosa.
- Go -Rejson - Golang Client для модуля Redislabs 'Rejson с использованием клиента Redigo Golang. Храните и манипулируйте структурой, как JSON, с легкостью.
- GOCB - Официальная кучевая база GO SDK.
- Gocosmos - REST CLINT и стандартная
database/sql
Driver для Azure Cosmos DB. - Gocql - Go Language Driver для Apache Cassandra.
- Godis - Redis Client Creal от Golang, вдохновленный Jedis.
- Godscache - обертка для платформы Google Cloud Platform Go Datastore, которая добавляет кэширование с использованием Memcached.
- Gomemcache - клиентская библиотека Memcache для языка программирования GO.
- Gomemcached - бинарный клиент Memcached для поддержки при поддержке Sharding с использованием последовательного хеширования вместе с SASL.
- Gorethink - Go Language Driver для Rethinkdb.
- Goriak - Go Language Driver для Riak KV.
- Kivik - Kivik предоставляет общую клиентскую библиотеку Go and Gopherjs для CouchDB, pouchDB и аналогичных баз данных.
- MGM - MongoDB на основе модели ODM для GO (на основе официального драйвера MongoDB).
- MGO - (Uncainted) Драйвер MongoDB для языка GO, который реализует богатый и хорошо протестированный выбор функций под очень простым API после стандартных идиомов GO.
- Mongo-Go-Driver-официальный драйвер MongoDB для языка GO.
- NEO4J - NEO4J REST BINDINGS API для GOLANG.
- Neo4j -go - Neo4j Rest Client в Голанге.
- Неоизм - NEO4J Клиент для Голанга.
- QMGO - драйвер MongoDB для Go. Он основан на официальном драйвере MongoDB, но проще в использовании, как MGO.
- REDEO - Redis -Protocol, совместимые с TCP -серверами/услугами.
- Redigo - Redigo - клиент GO для базы данных Redis.
- Redis - Redis Client для Golang.
- Rueidis - Fast Redis Rest3 клиент с автоматическим трубопроводом и кэшированием клиента с помощью сервера.
- xredis - typesafe, настраиваемое, чистое и простое в использовании клиент Redis.
Поиск и аналитические базы данных
- Clickhouse -GO - Clickhouse SQL Client для переноса с
database/sql
совместимость. - Effdsl - Elasticsearch Query Builder для Go.
- Elastic - Elasticsearch Client для Go.
- Elasticsql - преобразовать SQL в Elasticsearch DSL в Go.
- Elastigo - клиентская библиотека Elasticsearch.
- Go -Elasticsearch - официальный клиент Elasticsearch для Go.
- GOS - Библиотека для взаимодействия с Elasticsearch.
- Skizze - Вероятностная служба и хранения структур данных.
⬆ Вернуться к вершине
Дата и время
Библиотеки для работы с датами и временем.
- Приблизительно - продолжительность продолжительности, поддерживающая проанализирование/печать в течение дней, недель и лет.
- Углерод - простой, семантический и удобный для разработчиков пакет Golang для DateTime.
- Углерод - простое разгибание времени с большим количеством методов UTIL, переносимых из карбоновой библиотеки PHP.
- CRONRANGE - SANESES CRON ВРЕМЯ ВРЕМЕНИ ВРЕМЕНИ ВРЕМЕНИ ВРЕМЕНИ, ПРОВЕРИТ, если данное время находится в пределах каких -либо диапазонов.
- Дата-расширяет время для работы с датами, датчиками, пролетами, периодами и временем дня.
- DateParse - Date Date не зная формат заранее.
- DURAFMT - Библиотека форматирования времени для проведения времени для GO.
- Feiertage - набор функций для расчета праздничных праздников в Германии, вкл. Специализация на штатах Германия (Bundesländer). Такие вещи, как Пасха, Пятидесятница, День Благодарения ...
- go -yatime - Parse даты/раз, такие как «22 декабря в 3 часа дня» и диапазоны, как «с сегодняшнего дня до следующего четверга», не зная формата заранее.
- Go -Datebin - простой DateTime Parse Pkg.
- Go-Persian-Calendar-реализация персидского (солнечного хиджри) в Go (Golang).
- Go -str2duration - преобразовать строку в продолжительность. Время поддержки. Продолжительность возвращала строку и многое другое.
- Go -Sunrise - Рассчитайте время восхода и заката для данного места.
- Goeek - эффективный пакет для работы с датами ISO8601 недели.
- Гострадамус - пакет GO для работы с датами.
- ISO8601 - Эффективно пропокат ISO8601 Дата -времени без корпуса.
- Кейр - дата и время - библиотека форматирования Голанга.
- Сейчас - сейчас есть инструментарий времени для Голанга.
- Strftime - C99 -совместимый формат, совместимый с Strftime.
- Timesspan - для взаимодействия с интервалами времени, определяется как время начала и продолжительность.
- Timeutil - Полезные расширения (Timedelta, Strftime, ...) до пакета времени Голанга.
- Вторник - Ruby -совместимая функция Strftime.
⬆ Вернуться к вершине
Распределенные системы
Пакеты, которые помогают в строительстве распределенных систем.
- ARPC-Более эффективная сетевая связь, поддержка двустороннего обзора, уведомление, трансляция.
- Bedrock - предоставляет минимальную, модульную и композиционную основу для быстрого развития услуг и более эффективных вариантов использования в Go.
- Капилляры - Распределенная структура обработки данных.
- Celeriac - Библиотека для добавления поддержки для взаимодействия и мониторинга работников сельдерея, задач и событий в Go.
- Последовательный - последовательное хеширование с ограниченными нагрузками.
- Consectententhash - Постоянное хеширование с настраиваемыми репликами.
- DHT - BitTorrent Kademlia DHT Реализация.
- Digota - GRPC Ecommerce Microservice.
- делать