std.ArrayHashMap em Zig — Referência e Exemplos
std.ArrayHashMap — Mapa Hash com Ordem de Inserção O std.ArrayHashMap é uma implementação de mapa hash que preserva a ordem de inserção dos elementos. Diferente …
A biblioteca padrão do Zig (std) oferece um conjunto abrangente de módulos para operações fundamentais de programação — desde manipulação de memória e I/O até redes, criptografia e estruturas de dados. Esta referência documenta cada módulo com explicações em português brasileiro, assinaturas de funções e exemplos práticos.
Para acessar qualquer módulo da biblioteca padrão, basta importar std:
const std = @import("std");
A partir daí, você pode acessar qualquer submódulo diretamente:
const io = std.io;
const mem = std.mem;
const fs = std.fs;
| Módulo | Descrição |
|---|---|
| std.io | Visão geral do sistema de I/O |
| std.io.Writer | Interface genérica de escrita |
| std.io.Reader | Interface genérica de leitura |
| std.io Buffered | BufferedReader e BufferedWriter |
| std.io.FixedBufferStream | Stream sobre buffer fixo |
| getStdOut, getStdErr, getStdIn | Acesso aos fluxos padrão |
| Módulo | Descrição |
|---|---|
| std.fs | Visão geral do sistema de arquivos |
| std.fs.cwd() | Diretório atual e operações |
| std.fs.File | Tipo File e operações |
| std.fs.path | Utilitários de caminhos |
| std.fs.Dir | Tipo Dir e iteração |
| Módulo | Descrição |
|---|---|
| std.mem | Visão geral de operações de memória |
| std.mem.Allocator | Interface de alocador |
| std.mem.eql | Comparação e busca em memória |
| std.mem.split | Divisão e tokenização |
| std.heap | Visão geral dos alocadores |
| GeneralPurposeAllocator | Alocador de uso geral |
| ArenaAllocator | Alocador de arena |
| page_allocator | Alocador de páginas |
| FixedBufferAllocator | Alocador sobre buffer fixo |
| Módulo | Descrição |
|---|---|
| ArrayList | Lista dinâmica (vetor) |
| ArrayHashMap | HashMap com ordem de inserção |
| HashMap | Tabela hash genérica |
| StringHashMap | HashMap com chaves string |
| MultiArrayList | Struct of Arrays |
| BoundedArray | Array com tamanho limitado |
| PriorityQueue | Fila de prioridade (heap) |
| SegmentedList | Lista segmentada |
| LinkedList | Listas ligadas |
| Módulo | Descrição |
|---|---|
| std.fmt | Visão geral de formatação |
| Sintaxe de Format | Strings de formatação |
| parseInt, parseFloat | Conversão de strings para números |
| std.json | Visão geral de JSON |
| JSON Parsing | Análise de JSON |
| JSON Stringify | Serialização JSON |
| std.Uri | Análise de URIs |
| std.base64 | Codificação Base64 |
| Módulo | Descrição |
|---|---|
| std.net | Visão geral de rede |
| std.net.Stream | Socket Stream |
| std.net.Address | Tipo Address |
| std.http | Visão geral HTTP |
| HTTP Client | Cliente HTTP |
| HTTP Server | Servidor HTTP |
| Módulo | Descrição |
|---|---|
| std.Thread | Threads nativas |
| Thread.Mutex | Mutex e sincronização |
| Thread.Pool | Pool de threads |
| std.atomic | Operações atômicas |
| Event Loop | Conceitos de event loop |
| Módulo | Descrição |
|---|---|
| std.math | Visão geral de matemática |
| Funções matemáticas | Funções comuns |
| std.crypto | Visão geral de criptografia |
| Hash functions | Funções de hash |
| Crypto random | Números aleatórios criptográficos |
| std.compress | Compressão de dados |
| Módulo | Descrição |
|---|---|
| std.os | Interface com o SO |
| std.process | Processos e ambiente |
| std.time | Tempo e cronômetros |
| std.debug | Depuração e assertivas |
| std.log | Framework de logging |
| std.testing | Utilitários de teste |
| std.sort | Algoritmos de ordenação |
A biblioteca padrão do Zig segue algumas convenções importantes:
Allocator como parâmetro, tornando a gestão de memória transparente.error union (!T), integrando-se com o sistema de try/catch do Zig.comptime para tipagem genérica sem custo em tempo de execução.Writer e Reader utilizam ponteiros de função resolvidos em tempo de compilação quando possível.std.ArrayHashMap — Mapa Hash com Ordem de Inserção O std.ArrayHashMap é uma implementação de mapa hash que preserva a ordem de inserção dos elementos. Diferente …
std.ArrayList — Array Dinâmico O std.ArrayList é a estrutura de dados de array dinâmico da biblioteca padrão do Zig. Ele funciona como um vetor que cresce …
std.atomic — Operações Atômicas O módulo std.atomic fornece operações atômicas para programação concorrente sem locks (lock-free programming). Operações …
std.base64 — Codificação e Decodificação Base64 O módulo std.base64 oferece codificação e decodificação Base64 conforme as RFCs 4648 e 2045. Base64 é amplamente …
std.BoundedArray — Array de Capacidade Fixa O std.BoundedArray é uma estrutura de dados que oferece uma interface similar ao ArrayList, mas com capacidade …
std.compress — Compressão e Descompressão O módulo std.compress fornece implementações de algoritmos de compressão e descompressão de dados escritas em Zig …
std.crypto — Criptografia O módulo std.crypto fornece implementações criptográficas de alta qualidade escritas em Zig puro (sem dependências de C). Ele inclui …
std.crypto.hash — Funções de Hash Criptográficas As funções de hash criptográficas do Zig produzem um resumo (digest) de tamanho fixo a partir de dados de …
std.crypto.random — Geração Aleatória Criptograficamente Segura O std.crypto.random fornece acesso a um gerador de números aleatórios criptograficamente seguro …
std.debug — Depuração e Diagnóstico O módulo std.debug contém utilitários de depuração para desenvolvimento em Zig. Inclui saída de diagnóstico via stderr, …
Event Loop e I/O Assíncrono em Zig O Zig historicamente explorou um modelo de programação assíncrona baseado em async frames e um event loop integrado à …
std.fmt — Formatação de Strings O módulo std.fmt é o sistema central de formatação do Zig, usado por std.debug.print, writer.print, std.fmt.bufPrint e muitas …