1. 🇧🇷 A linguagem de programação Rust
  2. 🇧🇷 Prefácio
  3. 🇧🇷 Introdução
  4. 1. 🇧🇷 Começando
    1. 1.1. 🇧🇷 Instalação
    2. 1.2. 🇧🇷 Olá, Mundo!
    3. 1.3. 🇧🇷 Olá, Cargo!
  5. 2. 🇧🇷 Jogo de Adivinhação
  6. 3. 🇧🇷 Conceitos Comuns de Programação
    1. 3.1. 🇧🇷 Variáveis e Mutabilidade
    2. 3.2. 🇧🇷 Tipos de dados
    3. 3.3. 🇧🇷 Funções
    4. 3.4. 🇧🇷 Comentários
    5. 3.5. 🇧🇷 Controle de fluxo
  7. 4. 🇧🇷 Entendendo Ownership
    1. 4.1. 🇧🇷 O Que É Ownership?
    2. 4.2. 🇧🇷 Referências e Borrowing
    3. 4.3. 🇧🇷 Slices
  8. 5. 🇧🇷 Usando Structs para Estruturar Dados Relacionados
    1. 5.1. 🇧🇷 Definindo e Instanciando Structs
    2. 5.2. 🇧🇷 Um Exemplo de um Programa que usa Structs
    3. 5.3. 🇧🇷 Sintaxe do Método
  9. 6. 🇧🇷 Enums e Casamento de Padrões
    1. 6.1. 🇧🇷 Definindo uma Enum
    2. 6.2. 🇧🇷 Operador match
    3. 6.3. 🇧🇷 Controle de Fluxo Conciso com if let
  10. 7. 🇧🇷 Módulos
    1. 7.1. 🇧🇷 mod e o Sistema de Arquivos
    2. 7.2. 🇧🇷 Controlando a Visibilidade com pub
    3. 7.3. 🇧🇷 Importando nomes com use
  11. 8. 🇧🇷 Coleções comuns
    1. 8.1. 🇧🇷 Vetores
    2. 8.2. 🇧🇷 Strings
    3. 8.3. 🇧🇷 Hash Maps
  12. 9. 🇧🇷 Tratamento de Erros
    1. 9.1. 🇧🇷 Erros Irrecuperáveis com panic!
    2. 9.2. 🇧🇷 Erros recuperáveis com Result
    3. 9.3. 🇧🇷 Entrar em panic! ou Não Entrar em panic!
  13. 10. 🇧🇷 Tipos Genéricos, Traits, e Tempos de vida (Lifetimes)
    1. 10.1. 🇧🇷 Tipos Genéricos de Dados
    2. 10.2. 🇧🇷 Traits: Definindo Comportamento Compartilhado
    3. 10.3. 🇧🇷 Validating References with Lifetimes
  14. 11. Testing
    1. 11.1. Writing tests
    2. 11.2. Running tests
    3. 11.3. Test Organization
  15. 12. 🇧🇷 Um projeto de E/S
    1. 12.1. 🇧🇷 Aceitando Argumentos em Linha de Comando
    2. 12.2. 🇧🇷 Lendo um Arquivo
    3. 12.3. 🇧🇷 Refatoração para Melhorar a Modularidade e o Tratamento de Erros
    4. 12.4. 🇧🇷 Desenvolvendo a Biblioteca de Funcionalidades
    5. 12.5. 🇧🇷 Trabalhando com Variáveis de Ambiente
    6. 12.6. 🇧🇷 Escrevendo Mensagens de Erro para Erro Padrão em Vez de Saída Padrão
  16. 13. Functional Language Features in Rust
    1. 13.1. Closures
    2. 13.2. Iterators
    3. 13.3. Improving our I/O Project
    4. 13.4. Performance
  17. 14. More about Cargo and Crates.io
    1. 14.1. Release Profiles
    2. 14.2. Publishing a Crate to Crates.io
    3. 14.3. Cargo Workspaces
    4. 14.4. Installing Binaries from Crates.io with cargo install
    5. 14.5. Extending Cargo with Custom Commands
  18. 15. 🇧🇷 Ponteiros Inteligentes (Smart Pointers)
    1. 15.1. 🇧🇷 Box Aponta para Dados no Heap e Tem Tamanho Conhecido
    2. 15.2. 🇧🇷 Tratando Ponteiros Inteligentes como Referências Normais com a Trait Deref
    3. 15.3. 🇧🇷 A Trait Drop Roda Código durante a Limpeza
    4. 15.4. 🇧🇷 Rc, o Ponteiro Inteligente com Contagem de Referências
    5. 15.5. 🇧🇷 RefCell e a Pattern de Mutabilidade Interior
    6. 15.6. 🇧🇷 Ciclos de Referências Podem Vazar Memória
  19. 16. Concurrency
  20. 17. 🇧🇷 Rust é uma linguagem orientada a objetos?
    1. 17.1. 🇧🇷 O que significa orientado a objetos?
    2. 17.2. 🇧🇷 Usando objetos trait que permitem valores de tipos diferentes
    3. 17.3. 🇧🇷 Implementando um padrão de projeto orientado a objetos
  21. 18. Patterns
  22. 19. More Lifetimes
  23. 20. Advanced Type System Features
  24. 21. Appendix
    1. 21.1. Keywords
    2. 21.2. Operators
    3. 21.3. Derivable Traits
    4. 21.4. Nightly Rust
    5. 21.5. Macros
    6. 21.6. 🇧🇷 G - Como é feito o Rust e o "Rust Nightly"

A linguagem de programação Rust

Advanced Type System Features