Turul limbajului Rust
Lecții
Salut,
Capitolul 1 - Ideile și conceptele de bază
Rust Playground
Variabile
Modificarea variabilelor
Tipuri de date de bază
Conversia tipurilor de bază
Constante
Tablouri
Funcții
Returnarea mai multor valori
A nu returna nimic
Capitolul 1 - Concluzie
Capitolul 2 - Controlul de bază al fluxului
if/else
Bucle
while
for
match
Returnarea unor valori dintr-o buclă
Returnarea unor valori din expresii bloc
Capitolul 2 - Concluzie
Capitolul 3 - Tipuri de structuri de date de bază
Structuri
Apelarea metodelor
Memorie
Crearea datelor în memorie
Structuri de tip tuplu
Structuri de tip unitate
Enumerări
Enumerările care conțin tipuri de date
Capitolul 3 - Concluzie
Capitolul 4 - Tipuri generice
Ce sunt tipurile generice?
Reprezentarea nimicului
Option
Result
Main-ul care poate eșua
Gestionare grațioasă a erorilor
Gestionarea inadecvată a enumerărilor Option/Result
Vectori
Capitolul 4 - Concluzie
Capitolul 5 - Proprietatea și împrumutul datelor
Proprietate
Gestionarea resurselor bazată pe domeniul de existență
Drop-ul este o acțiune ierarhică
Cedarea proprietății
Returnarea proprietății
Împrumutul proprietății prin referințe
Împrumutul proprietății mutabile prin referințe
Dereferențiere
Trimiterea datelor împrumutate
Referințele unor referințe
Durate de viață explicite
Durate de viață multiple
Durate de viață statice
Durate de viață în interiorul structurilor de date
Capitolul 5 - Concluzie
Capitolul 6 - Text
Șiruri de caractere literale
Ce este utf-8
Secvențe Escape
Șiruri de caractere literale pe mai multe linii
Șiruri de caractere literale brute
Șiruri de caractere literale din fișiere
Subșiruri de caractere
Tipul char
Șiruri de caractere
Text ca parametru de funcție
Construirea șirurilor de caractere
Formatarea șirurilor de caractere
Convertirea șirurilor de caractere
Capitolul 6 - Concluzie
Capitolul 7 - Programare orientată pe obiecte
Ce este POO?
Rust nu este POO
Încapsulare prin metode
Abstracție prin expunere selectivă
Polimorfismul prin trăsături
Metode implementate trăsăturilor
Moștenirea trăsăturilor
Expediere dinamică vs statică
Trait objects
Manevrarea tipurilor de date fără dimensiune fixă
Funcții generice
Prescurtare a funcțiilor generice
Box
Structuri generice revizuite
Capitolul 7 - Concluzie
Capitolul 8 - Pointeri "inteligenți"
Să revizuim referințele
Pointeri simpli
Dereferențierea
Operatorul `*`
Operatorul `.`
Pointeri inteligenți
Cod nesigur inteligent
Amici comuni
Memoria alocată pe heap
Să revizuim main-ul care poate eșua
Numărarea referențierilor
Partajarea accesului
Partajarea între thread-uri
Combinarea pointerilor inteligenți
Chapter 8 - Concluzii
Capitolul 9 - Organizarea și structurarea proiectului
Module
Scrierea unui program
Scrierea unei biblioteci
Referențierea de către alte module și cutii
Referința la mai multe elemente
Crearea de module
Ierarhia modulelor
Modul inclus direct (inline)
Referențierea modulelor interne
Exportarea
Vizibilitatea structurilor
Preludiu
Preludiul propriu
Capitolul 9 - Concluzie
Chapter 10 - Sfârșit