diff options
author | neodarz <neodarz@neodarz.net> | 2019-09-06 07:30:36 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2019-09-06 07:30:36 +0200 |
commit | acd9ab2d1515e31210615f4bd47d4e05f5c87f59 (patch) | |
tree | 6fcfbda02a084ef129c41775b4f8e2d39fa22a77 /dotfiles | |
parent | 956712a2207d4e1237b02cf739a7be006c712dcc (diff) | |
download | dotfiles_dotdrop-acd9ab2d1515e31210615f4bd47d4e05f5c87f59.tar.xz dotfiles_dotdrop-acd9ab2d1515e31210615f4bd47d4e05f5c87f59.zip |
More cheat
Diffstat (limited to '')
-rw-r--r-- | dotfiles/cheat/rust | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/dotfiles/cheat/rust b/dotfiles/cheat/rust index 41406ca..d132c30 100644 --- a/dotfiles/cheat/rust +++ b/dotfiles/cheat/rust @@ -36,6 +36,72 @@ Un type "compound" regroupe différent type de valeurs en une seul. - Tuple (multi type) ex: (1, 'z', 0.9) - Array (same type) ex: [1, 2, 3] +# for loop +for el in array.iter() { + ... +} + +# for loop in range +for el in (1..4) { + ... +} + +# for loop in range reversed +for el in (1..4).rev() { + ... +} + +# Ownership + +Chaque valeur a une variable nommé "propriétaire" ("owner") +Il n'y peut y avoir qu'un seul proprioétaire à la fois +Quand le proprio est hors sujet, hors champs ("out of scope") la valeur est +supprimé + +# String + +String est mutable à l'inverse d'un string littéral. +Pour créer un String depuis un string littéral: +let s = String::from("hello"); + +Pour rajouter tu texte à un String: +s.push_str(", world"); + +# Move + +Pour déplacer le pointeur d'un string d'une variable à une autre: +let s1 = String::form("hello") +let s1 = s2 + +# Clone (deep copy) + +let s1 = String::from("hello"); +let s2 = s1.clone(); + +# Copy (Uniquement pour les données dite de type pile) + +let x = 5; +let y = x; + +# Types qui peuvent utiliser Copy +- Integer +- Boolean +- Float +- Characteres +- Tuples (Only if all type can use Copy) + +Lorsque que l'on passe une varaible à un fonction sans utiliser de références, +celle-ci n'est plus utilisable par la suite si elle n'est pas retourné par +ladite fonctions. + +# References +Permet de référer à une valeur sans en devenir propriétaire. + +Pour créer une référence il faut mettre le signe `&` avant la variable avant +de la passer à une fonction (par exemple): + +let len = calculate_length(&s1); + # outils voir pour `rustup` pour gérer cargo |