Go.Стандартная библиотека

Go.Стандартная библиотека

https://t.me/HotCheatSheet

Стандартная библиотека языка Go довольно обширна. Сегодня рассмотрим какие бывают пакеты и за что отвечают. Присоединяйтесь =)


Стандартная библиотека

archive/tar — реализует доступ к архивам tar.

archive/zip — обеспечивает поддержку для чтения и записи ZIP-архивов.

bufio — реализует буферизованный ввод-вывод.

builtin — предоставляет документацию для предопределенных идентификаторов Go.

bytes — реализуют функции для обработки байтов.

compress/bzip2 — реализует декомпрессию bzip2.

compress/flate — реализует сжатый формат данных DEFLATE, описанный в RFC 1951.

compress/gzip — реализует чтение и запись сжатых файлов формата gzip.

compress/lzw — реализует сжатый формат данных Lempel-Ziv-Welch.

compress/zlib — реализует чтение и запись сжатых данных формата zlib, как указано в RFC 1950.

container/heap — обеспечивает операции кучи для любого типа, реализующего кучу.

container/list — реализует двойной список.

container/ring — реализует операции с круговыми списками.

context — определяет тип Context, сигналы отмены и другие значения области запроса через границы API и между процессами.

crypto — собирает общие криптографические константы.

crypto/aes — реализует шифрование AES.

crypto/cipher — реализует стандартные режимы блочного шифрования, которые могут быть обернуты с использованием низкоуровневых блочных шифров.

crypto/des — реализует стандарт шифрования данных (DES) и алгоритм шифрования Triple Data (TDEA).

crypto/dsa — реализует алгоритм цифровой подписи.

crypto/ecdsa — реализует алгоритм цифровой подписи эллиптической кривой.

crypto/elliptic — реализует несколько стандартных эллиптических кривых над первичными полями.

crypto/hmac — реализует код аутентификации сообщения с ключом-хэшем (HMAC).

crypto/md5 — реализует алгоритм хеширования MD5.

crypto/rand — реализует криптографически защищенный генератор псевдослучайных чисел.

crypto/rc4 — реализует шифрование RC4, как определено в прикладной криптографии Брюса Шнайера.

crypto/rsa — реализует шифрование RSA.

crypto/sha1 — реализует алгоритм хеширования SHA-1.

crypto/sha256 — реализует алгоритмы хеширования SHA224 и SHA256.

crypto/sha512 — реализует алгоритмы хеширования SHA-384, SHA-512, SHA-512/224 и SHA-512/256.

crypto/subtle — реализует функции, которые часто полезны в криптографическом коде, но требуют тщательной проверки правильности использования.

crypto/tls — частично реализует TLS 1.2.

crypto/x509 — анализирует ключи и сертификаты X.509.

crypto/x509/pkix — содержит общие структуры низкого уровня, используемые для разбора и сериализации ASN.1 сертификатов X.509, CRL и OCSP.

database/sql — обеспечивает общий интерфейс вокруг баз данных SQL (или SQL-подобных).

database/sql/driver — определяет интерфейсы, которые будут реализованы драйверами базы данных, используемые в пакете sql.

debug/dwarf — обеспечивает доступ к информации отладки DWARF, загружаемой из исполняемых файлов.

debug/elf — реализует доступ к объектным файлам ELF.

debug/gosym — реализует доступ к таблицам символов Go и номера строк, встроенным в двоичные файлы Go, сгенерированные компиляторами gc.

debug/macho — реализует доступ к объектным файлам Mach-O.

debug/pe — реализует доступ к файлам PE (Microsoft Windows Portable Executable).

encoding — определяет интерфейсы, совместно используемые другими пакетами, которые преобразуют данные в и из байтов и текстовых представлений.

encoding/ascii85 — реализует кодировку данных ascii85, которая используется в инструменте btoa и в форматах документов Adobe PostScript и PDF.

encoding/asn1 — реализует анализ структур данных ASN.1 с кодированием DER.

encoding/base32 — реализует кодировку base32.

encoding/base64 — реализует кодировку base64.

encoding/binary — реализует простой перевод между числами и байтовыми последовательностями и кодирование и декодирование разновидностей.

encoding/csv — считывает и записывает файлы с разделителями-запятыми (CSV).

encoding/gob — управляет потоками gobs - двоичные значения, обменянные между Encoder (передатчиком) и Decoder (приемником).

encoding/hex — шестнадцатеричное кодирование и декодирование.

encoding/json — реализует кодирование и декодирование JSON.

encoding/pem — реализует кодирование данных PEM, которое было создано в Privacy Enhanced Mail.

encoding/xml — реализует простой синтаксический анализатор XML 1.0, который понимает пространства имен XML.

errors — реализуют функции для управления ошибками.

expvar — предоставляет стандартизованный интерфейс для общедоступных переменных, таких как счетчики операций на серверах.

flag — реализует разбор флагов командной строки.

fmt — реализует форматированный ввод-вывод с функциями, аналогичными printf и scanf в C.

go/ast — объявляет типы, используемые для представления деревьев синтаксиса для пакетов Go.

go/build — собирает информацию о пакетах Go.

go/constant — реализует значения, представляющие нетипизированные константы Go и их соответствующие операции.

go/doc — извлекает документацию исходного кода из Go AST.

go/format — реализует стандартное форматирование источника Go.

go/importer — предоставляет доступ к импортерам экспортных данных.

go/parser — реализует парсер для исходных файлов Go.

go/printer — реализует печать узлов AST.

go/scanner — реализует сканер для исходного текста Go.

go/token — определяет константы, представляющие лексические маркеры языка программирования Go и основные операции с токенами (печать, предикаты).

go/types — объявляют типы данных и реализуют алгоритм проверки типов пакетов Go.

hash — предоставляет интерфейсы для хэш-функций.

hash/adler32 — реализует контрольную сумму Adler-32.

hash/crc32 — реализует 32-битную циклическую проверку избыточности или контрольную сумму CRC-32.

hash/crc64 — реализует 64-битную циклическую проверку избыточности или контрольную сумму CRC-64.

hash/fnv — реализует функции FNV-1 и FNV-1a, не криптографические хэш-функции, созданные Гленн Фаулер, Ландон Курт Нолл и Фонг Во.

html — предоставляет функции для экранирования и отмены HTML-текста.

html/template — реализует шаблоны, основанные на данных, для обеспечения безопасного вывода HTML-кода для инъекций кода.

image — реализует базовую двухмерную библиотеку изображений.

image/color — реализует базовую библиотеку цветов.

image/color/palette — предоставляет стандартные цветовые палитры.

image/draw — обеспечивает функции композиции изображения.

image/gif — реализует декодер и кодировщик GIF.

image/jpeg — реализует декодер и кодировщик изображений JPEG.

image/png — реализует декодер изображения и кодировщик PNG.

index/suffixarray — реализует поиск подстроки в логарифмическом времени с использованием массива суффикса в памяти.

io — предоставляет базовые интерфейсы для примитивов ввода-вывода.

io/ioutil — реализует некоторые функции ввода-вывода.

log — реализован простой пакет протоколирования.

log/syslog — предоставляет простой интерфейс для службы системного журнала.

math — обеспечивает основные константы и математические функции.

math/big — реализует арифметику произвольной точности (большие числа).

math/bits — реализуют функции подсчета битов и манипуляции для предопределенных целых типов без знака.

math/cmplx — предоставляет базовые константы и математические функции для комплексных чисел.

math/rand — реализует генераторы псевдослучайных чисел.

mime — реализует части спецификации MIME.

mime/multipart — реализует многопроцессорный разбор MIME.

mime/quotedprintable — реализует кодировку с кавычками.

net — предоставляет портативный интерфейс для сетевого ввода-вывода, включая TCP/IP, UDP, разрешение имен доменов и сокеты домена Unix.

net/http — обеспечивает HTTP-клиент и серверные реализации.

net/http/cgi — реализует CGI (Common Gateway Interface).

net/http/cookiejar — реализует совместимый с RFC 6265 файл http.CookieJar .

net/http/fcgi — реализует протокол FastCGI.

net/http/httptest — предоставляет утилиты для тестирования HTTP.

net/http/httptrace — предоставляет механизмы для отслеживания событий в клиентских запросах HTTP.

net/http/httputil — предоставляет функции HTTP-утилиты, дополняющие более распространенные в net/http-пакете.

net/http/pprof — служит через данные профилирования времени выполнения HTTP-сервера в формате, ожидаемом инструментом визуализации pprof.

net/mail — реализует парсинг почтовых сообщений.

net/rpc — обеспечивает доступ к экспортированным методам объекта через сеть или другое соединение ввода / вывода.

net/rpc/jsonrpc — реализует JSON-RPC 1.0 ClientCodec и ServerCodec для пакета rpc.

net/smtp — реализует Simple Mail Transfer Protocol, как определено в RFC 5321.

net/textproto — реализует общую поддержку текстовых протоколов запроса / ответа в стиле HTTP, NNTP и SMTP.

net/url — анализирует URL-адреса и реализует запрос.

os — обеспечивает независимый от платформы интерфейс для функциональности операционной системы.

os/exec — обеспечивает выполнение внешних команд.

os/signal — реализует доступ к входящим сигналам.

os/user — позволяет просматривать учетные записи пользователей по имени или идентификатору.

path — реализует служебные подпрограммы для управления путями, разделенными на слэш.

path/filepath — реализует подпрограммы утилиты для управления путями имен файлов способом, совместимым с целевыми файловыми путями, определенными операционной системой.

plugin — реализует загрузку и разрешение символов плагинов Go.

reflect — реализует отражение во время выполнения, позволяя программе манипулировать объектами с произвольными типами.

regexp — реализует поиск регулярных выражений.

regexp/syntax — анализирует регулярные выражения в деревьях синтаксического анализа и компилирует деревья синтаксического анализа в программы.

runtime — содержит операции, которые взаимодействуют с системой времени выполнения Go.

runtime/cgo — содержит поддержку времени выполнения кода, сгенерированного инструментом cgo.

runtime/debug — содержит средства для отладки программ во время их работы.

runtime/pprof — записывает данные профилирования во время выполнения в формат, ожидаемый инструментом визуализации pprof.

sort — предоставляет примитивы для сортировки срезов и пользовательских коллекций.

strconv — реализует преобразования в строковые представления базовых типов данных и из них.

strings — реализуют простые функции для обработки кодированных строк UTF-8.

sync — предоставляет базовые примитивы синхронизации, такие как блокировки взаимного исключения.

sync/atomic — обеспечивает низкоуровневые примитивы атомной памяти, полезные для реализации алгоритмов синхронизации.

syscall — содержит интерфейс для примитивов операционной системы низкого уровня.

testing — обеспечивает поддержку для автоматического тестирования пакетов Go.

testing/iotest — реализует Readers и Writers, которые полезны в основном для тестирования.

testing/quick — реализует служебные функции, помогающие при тестировании черного ящика.

text/scanner — предоставляет сканер и токенизатор для текста с кодировкой UTF-8.

text/tabwriter — реализует фильтр записи (tabwriter.Writer), который преобразует вкладные столбцы данных в правильно выровненный текст.

text/template — реализует шаблоны, управляемые данными для генерации текстового вывода.

text/template/parse — обрабатывает деревья синтаксического разбора для шаблонов, как определено в text/template и html/template.

time — обеспечивает функциональность для измерения и отображения времени.

unicode — предоставляет данные и функции для проверки некоторых свойств кодовых точек Unicode.

unicode/utf16 — реализует кодирование и декодирование последовательностей UTF-16.

unicode/utf8 — реализует функции и константы для поддержки текста, закодированного в UTF-8.

unsafe — содержит не безопасные операции, типов программ Go.