REFERÊNCIA RÁPIDA DE TOML
Tabelas, strings, números, datas, arrays
Sintaxe
Regras Básicas
| key = value | Par chave-valor (um por linha) |
| # | Comentário (até o final da linha) |
| Sensível a maiúsculas | Chaves e valores diferenciam maiúsculas e minúsculas |
| UTF-8 | Arquivos devem ser UTF-8 válido |
| Sem null | TOML não tem tipo null |
Exemplo Mínimo
title = "My App"
debug = true
port = 8080
Strings
Tipos de String
| "basic" | String básica (suporta escapes) |
| 'literal' | String literal (sem escapes) |
| """multi""" | String básica multi-linha |
| '''multi''' | String literal multi-linha |
Exemplos
basic = "Hello\nWorld"
literal = 'C:\Users\path'
multi = """
Line one
Line two"""
Sequências de Escape
| \n \t \r | Nova linha, tab, retorno de carro |
| \\ | Barra invertida |
| \uXXXX | Unicode (hex de 4 dígitos) |
| \UXXXXXXXX | Unicode (hex de 8 dígitos) |
Números e Booleanos
Tipos Numéricos
| 42 | Inteiro |
| 1_000_000 | Inteiro com sublinhados |
| 0xff / 0o77 / 0b11 | Hexadecimal, octal, binário |
| 3.14 | Decimal |
| 5e+22 / 1e-2 | Notação científica |
| inf / nan | Valores decimais especiais |
| true / false | Booleano (apenas minúsculas) |
Exemplos
count = 42
price = 19.99
hex_color = 0xFF5733
enabled = true
Datas
Tipos de Data e Hora
| 2026-03-26T10:30:00Z | Data-hora com fuso horário (UTC) |
| 2026-03-26T10:30:00-05:00 | Data-hora com fuso horário (EST) |
| 2026-03-26T10:30:00 | Data-hora local (sem fuso horário) |
| 2026-03-26 | Data local |
| 10:30:00 | Hora local |
Exemplos
created = 2026-03-26T10:30:00Z
birthday = 1990-05-15
alarm = 07:00:00
Tabelas
Sintaxe de Tabela
[server]
host = "localhost"
port = 8080
[server.ssl]
enabled = true
cert = "/path/to/cert.pem"
Array de Tabelas
[[users]]
name = "Alice"
role = "admin"
[[users]]
name = "Bob"
role = "user"
Regras
| [name] | Cabeçalho de tabela padrão |
| [a.b.c] | Chave com pontos — tabela aninhada |
| [[name]] | Array de tabelas |
| Sem redefinição | Não é possível definir a mesma tabela duas vezes |
Arrays
Sintaxe de Array
colors = ["red", "green", "blue"]
numbers = [1, 2, 3]
Array Multi-linha
hosts = [
"alpha.example.com",
"beta.example.com",
]
Vírgula final é permitida em arrays TOML
Regras
| Mesmo tipo | Todos os elementos devem ser do mesmo tipo |
| Vírgula final | Permitida após o último elemento |
| Novas linhas | Arrays podem abranger múltiplas linhas |
Tabelas Em Linha
Sintaxe de Tabela Em Linha
point = { x = 1, y = 2 }
user = { name = "Alice", admin = true }
Regras
| Linha única | Deve aparecer em uma única linha |
| Sem vírgula final | Vírgula final não é permitida |
| Sem novas linhas | Não pode abranger múltiplas linhas |
| Sem adicionar chaves | Não é possível adicionar chaves à tabela em linha depois |
Em Linha vs Padrão
# Em linha — compacto, uma linha
db = { host = "localhost", port = 5432 }
# Padrão — legível, extensível
[db]
host = "localhost"
port = 5432
Padrões Comuns
pyproject.toml
[project]
name = "myapp"
version = "1.0.0"
dependencies = ["flask>=3.0"]
Cargo.toml
[package]
name = "myapp"
version = "0.1.0"
edition = "2021"
Dicas
| taplo | Kit TOML — formatador e linter |
| Sem null | Omitir a chave em vez de definir null |
| Sem âncoras | Diferente do YAML, sem sistema de referência/alias |
| Estrito | Sem chaves duplicadas, sem arrays de tipos mistos |