Библиотека Java для преобразования Java-объектов в JSON и обратно, в том числе объектов, исходный код которых недоступен.
duke-git/lancet
Библиотека утилит для Go: более 700 вспомогательных функций для строк, срезов, дат и времени, сетей, криптографии и многого другого, вдохновлённая lodash.
- Звёзды
- 5,300
- Форки
- 518
- Открытые issues
- 11
- Последний коммит
- 9 часов назад
Что это?
Lancet — библиотека утилит для Go, которая закрывает распространённые задачи: обработку строк, работу со срезами и map, операции с датой и временем, сетевые функции и криптографию. Она вдохновлена Apache Commons для Java и lodash.js и предлагает разработчикам на Go набор переиспользуемых функций, чтобы не приходилось реализовывать их заново в каждом проекте.
Ветка 2.x основана на дженериках Go и требует Go 1.18 или новее. Ветка v1.x по-прежнему доступна для старых версий Go. Библиотека зависит только от стандартной библиотеки Go и пакетов golang.org/x; для каждой экспортируемой функции есть модульные тесты.
Функции сгруппированы по пакетам, например strutil, slice, datetime, cryptor, convertor и concurrency. Каждый пакет импортируется отдельно, поэтому можно подключать только то, что используется.
Ключевые возможности
- 01Предоставляет более 700 утилит для работы со строками, срезами, датой и временем, сетью, криптографией и многим другим.
- 02В версии 2.x использует дженерики Go для типобезопасных вспомогательных функций.
- 03Зависит только от стандартной библиотеки Go и golang.org/x.
- 04Для каждой экспортируемой функции есть модульные тесты.
- 05Функции сгруппированы по отдельным пакетам, поэтому можно импортировать только необходимые.
Сценарии использования
- Замена написанных вручную функций для работы со строками, срезами или map в сервисах на Go.
- Добавление в проект на Go арифметики дат или безопасного прибавления месяцев и лет.
- Использование распространённых криптографических функций, например AES, RSA, HMAC и алгоритмов семейства SM.
- Упрощение конкурентных шаблонов, таких как fan-in, конвейеры на каналах и блокировки по ключу.
Быстрый старт
- 1
Установите модуль v2 с помощью go get
go get github.com/duke-git/lancet/v2 - 2
Импортируйте нужный пакет, например strutil
import "github.com/duke-git/lancet/v2/strutil"
Что важно знать
- Для v2 требуется Go 1.18 или новее; в более старых версиях Go нужно использовать ветку v1.
Темы
Частые вопросы
- Что такое lancet?
- Библиотека утилит для Go: более 700 вспомогательных функций для строк, срезов, дат и времени, сетей, криптографии и многого другого, вдохновлённая lodash. Lancet — библиотека утилит для Go, которая закрывает распространённые задачи: обработку строк, работу со срезами и map, операции с датой и временем, сетевые функции и криптографию. Она вдохновлена Apache Commons для Java и lodash.js и предлагает разработчикам на Go набор переиспользуемых функций, чтобы не приходилось реализовывать их заново в каждом проекте.
- lancet можно использовать бесплатно? Какая у него лицензия?
- lancet распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lancet всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lancet — 24 окт. 2026 г..
- Для чего можно использовать lancet?
- Замена написанных вручную функций для работы со строками, срезами или map в сервисах на Go. Добавление в проект на Go арифметики дат или безопасного прибавления месяцев и лет. Использование распространённых криптографических функций, например AES, RSA, HMAC и алгоритмов семейства SM. Упрощение конкурентных шаблонов, таких как fan-in, конвейеры на каналах и блокировки по ключу.
- Как установить lancet?
- Установите модуль v2 с помощью go get: go get github.com/duke-git/lancet/v2 Импортируйте нужный пакет, например strutil: import "github.com/duke-git/lancet/v2/strutil"
- Где скачать lancet?
- Исходный код и инструкции по установке — на GitHub: https://github.com/duke-git/lancet
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Быстрая конкурентная библиотека кеширования для Go с ограничением по памяти, вытеснением по стоимости и допуском записей с помощью TinyLFU.
Резервная реализация на чистом PHP, предоставляющая часть возможностей расширения Mbstring в окружениях, где оно не установлено.
Библиотека Go, которая делает структурированную конкурентность безопаснее и проще: группы ожидания, ограниченные пулы, упорядоченные потоки и передача паник.
Небольшая библиотека форматтеров для Go, которая преобразует размеры в байтах, время, числа и порядковые числительные в удобочитаемые строки.
Реализация узла Lightning Network на Go: управляет каналами, маршрутизирует платежи и предоставляет API gRPC и REST.