std.json Stringify em Zig — Referência e Exemplos
std.json Stringify — Serialização para JSON A serialização JSON do Zig converte valores Zig (structs, arrays, slices, optionals, enums) em strings JSON válidas. …
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.json Stringify — Serialização para JSON A serialização JSON do Zig converte valores Zig (structs, arrays, slices, optionals, enums) em strings JSON válidas. …
std.LinkedList — Lista Duplamente Encadeada O std.DoublyLinkedList (acessível como std.DoublyLinkedList ou via std.SinglyLinkedList) é a implementação de lista …
std.log — Logging Estruturado O módulo std.log fornece um sistema de logging estruturado e configurável para o Zig. Diferente de std.debug.print, que é voltado …
std.math — Funções Matemáticas O módulo std.math fornece funções matemáticas fundamentais, constantes, operações de aritmética segura e utilitários para …
std.math Funções — Referência Detalhada Este documento serve como referência completa para todas as funções matemáticas disponíveis no std.math, organizadas por …
std.mem — Operações de Memória O módulo std.mem fornece funções fundamentais para trabalhar com memória e slices no Zig. Ele inclui operações de comparação, …
std.mem.Allocator — Interface de Alocação A interface Allocator é o mecanismo central de alocação de memória em Zig. Em vez de usar uma função global como …
std.mem.eql, indexOf e Comparações As funções de comparação e busca de std.mem são essenciais para trabalhar com strings e slices em Zig. Como o Zig trata …
std.mem.split e tokenize — Divisão e Tokenização As funções split e tokenize de std.mem permitem dividir slices em partes com base em delimitadores. A diferença …
std.MultiArrayList — Estrutura de Arrays (SoA) O std.MultiArrayList implementa o padrão Structure of Arrays (SoA), onde uma coleção de structs é armazenada como …
std.net — Networking de Baixo Nível O módulo std.net fornece primitivas de rede para comunicação via sockets TCP e UDP. Ele encapsula as APIs de sockets do …
std.net.Address — Endereços de Rede O tipo std.net.Address representa um endereço de rede completo (endereço IP e porta) usado para identificar endpoints em …