Tour de Rust
Leçons
Bonjour,
Chapitre 1 - Les fondamentaux
Le terrain de jeu de Rust
Variables
Modification des variables
Types primitifs
Conversion des types primitifs
Constantes
Tableaux
Fonctions
Multiple valeurs de retour
Ne rien retourner
Chapitre 1 - Conclusion
Chapitre 2 - Structures de contrôle basiques
if/else if/else
loop
while
for
match
Retourner des valeurs avec loop
Retourner des valeurs avec des blocs d'instructions
Chapitre 2 - Conclusion
Chapitre 3 - Types basiques de structure de données
Structures
Appel de méthodes
Mémoire
Création de donnée en mémoire
Structures sous forme de n-uplet
Structures de type unitaire
Enumerations
Enumerations avec des données
Chapitre 3 - Conclusion
Chapitre 4 - Types Génériques
Qu'est-ce que les types génériques?
Representation de valeurs nulles
Option
Result
main retourne une erreur
Gestion élégante des erreurs
Gestion peu élégante de Option/Result
Vecteurs
Chapitre 4 - Conclusion
Chapitre 5 - Propriété et emprunt de données
Propriété (en anglais ownership)
Management des ressources basé sur la portée (en anglais scope)
La déconstruction et désallocation est hiérarchique
Transfert de propriétaire
Retourner la propriété d'une ressource
S'approprier une ressource avec des références.
S'approprier une ressource mutable avec des références
Déréférencement
Transfert de données empruntées
Réferences de réferences
Durée de vie explicite
Durée de vie multiple
Durées de vie statiques
Durée de vie dans les structures
Chapitre 5 - Conclusion
Chapitre 6 - Texte
Chaînes de caractères
Introduction à l'utf-8
Caractères d'échappement
Chaînes de caractères sur plusieurs lignes
Chaînes de caractères bruts
Chaînes de caractères depuis un fichier
String Slice
Chars
String
Texte en tant que paramètre de fonction
Construction de String
Formatage de Strings
Conversion en String
Chapitre 6 - Conclusion
Chapitre 7 - Programmation orientée object
Qu'est-ce que la POO?
Rust n'est pas POO
Encapsulation avec des méthodes
Abstraction avec différents niveaux de visibilité
Polymorphisme avec les traits
Méthodes implémentées sur les traits
Hériter d'un trait
Dispatch dynamique ou statique
Objets trait
Gestion de données sans taille
Fonctions géneriques
Fonctions génériques condensées
Box
Structures génériques revisitées
Chapitre 7 - Conclusion
Chapitre 8 - Pointeurs intelligents (smart pointers)
Références revisitées
Pointeurs bruts (en anglais raw pointers)
Déréférencement
L'opérateur *
L'opérateur .
Pointeurs intelligents
Code intelligents mais dangereux
Amis familiers
Mémoire allouée sur le tas
Renvoi d'erreurs dans le main revisité
Multi-propriétaire
Partage d'accès
Partage entre threads
Utilisation avancée des pointeurs intelligents
Chapitre 8 - Conclusion
Chapitre 9 - Organisation et structure d'un projet
Modules
Ecrire un programme
Ecrire une bibliothèque
Référencement de modules et de crates
Référencement de plusieurs composants d'un module
Création d'un module
Hiérarchie de modules
Module Inline
Référencement de module interne
Export
Visibilité des structures
prelude
Crée tes propres modules prelude
Chapter 9 - Conclusion
Chapitre 10 - Fin