
Mostra como instalar o Rust no sistema operacional Windows.
Mostra como instalar o Rust no sistema operacional Linux.
Mostra como instalar o Rust no sistema operacional Linux.
Mostra como instalar o Visual Studio Code no Linux.
Exemplo de como calcular o fatorial em Rust, usando 3 estilos de programação diferentes.
Exemplos de como determinar se um número é primo ou não.
Exemplo de como acessar dentro do programa os argumentos da linha de comando.
Revisão do conteúdo desta seção na forma de vídeos curtos.
O escopo de uma variável inicia na sua definição e vai até o final do bloco onde foi criada.
Na operação de atribuição, algumas variáveis apresentam uma semântica "copia o valor", enquanto outras usam uma semântica "move o valor".
É possível transferir o ownership/propriedade de um valor no parâmetro de uma função chamada.
É possível a função chamada retornar para a função chamadora a propriedade/ownership de um valor. Este valor pode ter sido recebido como parâmetro ou criado dentro da função.
Stack/Pilha e Heap são áreas de memória usadas pelo compilador para armazenar as variáveis e os valores de um programa.
- Cada valor em Rust tem um proprietário (owner)
- A cada momento pode existir apenas um proprietário para cada valor
- Quando o proprietário chega ao final do seu escopo o valor é destruído (dropped)
Como passar uma referência de valor, fazendo um empréstimo ao invés de passar o ownership.
Como passar uma referência mutável de valor, fazendo um empréstimo mutável ao invés de passar o ownership.
Como funciona o mecanismo de slices em Rust.
O String Slice (str) permite a manipulação eficiente de strings a partir de diversas origens.
Slices podem ser obtidos de qualquer array.
Exemplos sobre como funciona ownership (propriedade) e borrowing (empréstimo).
Revisão do conteúdo desta seção na forma de vídeos curtos.
Como definir variáveis do tipo struct e inicializar os valores dos campos.
Como inicializar os campos de uma struct de forma abreviada.
Como implementar métodos em estruturas.
O que são e como implementar funções associadas.
Revisão do conteúdo desta seção na forma de vídeos curtos.
Um exemplo que inclui criação de Enum e o uso de Option, Match e If-Let.
Como ler números via o teclado, com a utilização de Option e Result.
Revisão do conteúdo desta seção na forma de vídeos curtos.
Como usar coleções BTreeMap e qual a diferença para HashMap.
Exemplo mostrando como ler arquivo texto e contar o número de ocorrências de cada palavra usando um HashMap.
Exemplo mostrando como ler arquivo texto e contar o número de ocorrências de cada palavra usando um HashMap, soluções alternativas.
Como ordenar um vector considerando diferentes tipos de dados e diferentes critérios de ordenação.
Comparação entre os diferentes tipos de dados associados com a ideia de String.
Este curso apresenta a Linguagem de Programação Rust, cujo emprego vem aumentando ano a ano, conhecida por ser segura, rápida e eficiente.
São cobertos em detalhes os 10 primeiros capítulos do Livro do Rust, referência fundamental da linguagem.
Também são apresentados conteúdos dos capítulos mais avançados do livro.
Trata-se de um curso básico. É suposto que o aluno não conhece absolutamente NADA sobre a Linguagem Rust, mas já programa em alguma outra linguagem de programação como C, C++, Java, Python, JavaScript, etc.
As aulas são conduzidas através de exemplos com programas compiláveis e executáveis. Todos os programas exemplo usados estão disponíveis para download. Durante as aulas o instrutor utiliza o Visual Studio Code, mas o aluno acostumado com outra IDE (Ambiente Integrado de Desenvolvimento: CLion, IntelliJ IDEA, etc) poderá utilizá-la também.
Os conceitos de Rust são apresentados e explicados através de programas exemplo. Ao longo do curso também são apresentados pequenos projetos os quais servem como ambiente para experimentar os conceitos adquiridos e conhecer outros recursos da Linguagem Rust. É desenvolvido um Simulador de Cruzamento Automático, como projeto mais complexo, com estruturas de dados variadas e biblioteca gráfica (speedy2d) para construir uma animação na tela.
Conceitos fundamentais de Rust, tais como propriedade (ownership), empréstimos (borrowing) e tempos de vida (lifetimes), são descritos. O curso mostra como usar tipos genéricos, structs, enums e traits para criar estruturas de dados. Também são usados recursos da biblioteca padrão tais como Vector, Hashmap, Btree e outros.