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.