The Go Blog
Обзор внешних библиотек для Go
Пока авторы Go усердно работали над улучшением стандартной библиотеки, большее сообщество создало растущую экосистему внешних библиотек. В этой статье мы рассмотрим некоторые популярные библиотеки Go и способы их использования.
Mgo (произносится как “mango”) — это драйвер базы данных MongoDB. MongoDB — это документо-ориентированная база данных с длинным списком функций, подходящих для широкого спектра применений. Пакет mgo предоставляет богатый и идиоматичный Go API для работы с MongoDB, от базовых операций, таких как вставка и обновление записей, до более продвинутых возможностей MapReduce и GridFS. Mgo имеет множество интересных особенностей, включая автоматическое обнаружение кластера и предварительную выборку результатов — см. документацию.
Домашняя страница mgo для получения подробной информации и примеров кода. Для работы с большими наборами данных Go, MongoDB и mgo представляют собой мощное сочетание.Authcookie — это веб-библиотека для генерации и проверки cookie-файлов аутентификации пользователей. Она позволяет веб-серверам выдавать криптографически безопасные токены, связанные с определённым пользователем, которые истекут через заданный период времени. Библиотека имеет простой API, что делает её удобной для добавления аутентификации в существующие веб-приложения. См. файл README для получения подробной информации и примеров кода.
Go-charset предоставляет поддержку преобразования между стандартной кодировкой UTF-8 в Go и различными наборами символов. Пакет go-charset реализует переводящие io.Reader и io.Writer, таким образом, вы можете обернуть существующие Reader и Writer (например, сетевые соединения или дескрипторы файлов), что упрощает взаимодействие с системами, использующими другие кодировки символов.
Go-socket.io — это реализация Socket.IO на языке Go.
Клиент-серверный API, который позволяет веб-серверам отправлять сообщения веб-браузерам. В зависимости от возможностей браузера пользователя, Socket.IO использует наиболее подходящий механизм соединения, будь то современные вебсокеты, AJAX long polling, или другой механизм. Go-socket.io обеспечивает связь между серверами на Go и богатыми JavaScript-клиентами для широкого круга браузеров. Чтобы ознакомиться с возможностями go-socket.io, можно посмотреть пример чат-сервера.
Стоит упомянуть, что данные пакеты можно установить с помощью goinstall. Со свежей установкой Go installation все они могут быть установлены одной командой:
<code>goinstall launchpad.net/mgo \ github.com/dchest/authcookie \ go-charset.googlecode.com/hg/charset \ github.com/madari/go-socket.io </code>
После установки пакеты можно импортировать, используя те же самые пути:
<code>import ( "launchpad.net/mgo" "github.com/dchest/authcookie" "go-charset.googlecode.com/hg/charset" "github.com/madari/go-socket.io" ) </code>
Кроме того, так как они теперь являются частью локальной системы Go, документацию к ним можно изучить с помощью godoc:
<code>godoc launchpad.net/mgo Database # see docs for Database type </code>
Конечно, это лишь вершина айсберга; в списке на пакетной панели перечислены другие отличные библиотеки на Go, а их количество будет только расти.
Следующая статья: Профилирование программ на Go
Предыдущая статья:
Декодер GIF: упражнение по интерфейсам в Go
Индекс блога