Skip to content
Snippets Groups Projects
Commit 9b2ef4df authored by orestis.malaspin's avatar orestis.malaspin
Browse files

ajouts divers dans type. modif mise en page

parent b28b22a5
Branches
No related tags found
No related merge requests found
Pipeline #
...@@ -48,9 +48,12 @@ fn main() { ...@@ -48,9 +48,12 @@ fn main() {
- Les charactères. - Les charactères.
## Les entiers ## Les entiers (1/2)
- Il existe 4 tailles d'entiers (8, 16, 32, et 46 bits) qui viennent en signé ou non-signé. - Il existe 4 tailles d'entiers (8, 16, 32, et 64 bits) qui viennent en signé ou non-signé.
- Également en taille dépendant de l'architecture
- `isize`{.rust} entier signé 32 ou 64 bits.
- `usize`{.rust} entier non-signé 32 ou 64 bits.
+---------------+---------------+--------------------+ +---------------+---------------+--------------------+
|Longueur | Signé | Non-signé | |Longueur | Signé | Non-signé |
...@@ -63,7 +66,34 @@ fn main() { ...@@ -63,7 +66,34 @@ fn main() {
+---------------+---------------+--------------------+ +---------------+---------------+--------------------+
| 64 bits | `i64`{.rust} | `u64`{.rust} | | 64 bits | `i64`{.rust} | `u64`{.rust} |
+---------------+---------------+--------------------+ +---------------+---------------+--------------------+
| 32 ou 64 bits | `isize`{.rust}| `usize`{.rust} |
+---------------+---------------+--------------------+
- Également en taille dépendant de l'architecture ## Les entiers (2/2)
- `isize`{.rust} entier signé 32 ou 64 bits.
- `usize`{.rust} entier signé 32 ou 64 bits. - Par défaut un entier est de type `i32`{.rust}.
\ No newline at end of file - Les types `isize`{.rust} et `usize`{.rust} sont typiquement pour indéxer des collections.
- On peut spécifier le type d'un entier:
- `42u8`{.rust} est un entier 8 bits non signé.
- `42isize`{.rust} est un entier de 32 ou 64 bits signé.
- Pour améliorer la lisibilité on peut également ajout des "_":
- On peut écrire `1000000`{.rust} comme `1_000_000`{.rust}
- On ne peut **pas** convertir implicitement d'un type à un autre.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let x:i64 = 5i32; // entier 32 bits dans une variable 64 bits
}
</code></pre>
## Les nombres à virgles flottante
- Il existe deux tailles de nombres à virgule flottante (32 et 64 bits):
- `f32`{.rust},
- `f64`{.rust}.
- Par défaut un nombre à virgule flottante est un `f64`{.rust}
- On ne peut **pas** convertir implicitement d'un type à un autre.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() {
let x:f64 = 5f32; // flottant 32 bits dans une variable 64 bits
}
</code></pre>
\ No newline at end of file
...@@ -35,40 +35,43 @@ height: ...@@ -35,40 +35,43 @@ height:
- Pour *déclarer* une variable il faut utiliser la forme: - Pour *déclarer* une variable il faut utiliser la forme:
`let symbole = valeur`{.rust}. `let symbole = valeur`{.rust}.
<pre><code data-trim="hljs rust" class="lang-rust"> <pre><code data-trim="hljs rust" class="lang-rust">
fn main() { fn main() {
let x = 5; // entier 32 bits let x = 5; // entier 32 bits
println!("La valeur de x est: {}", x); // affichage println!("La valeur de x est: {}", x); // affichage
let y = "La valeur 5 est liée avec la variable x"; // Chaîne de caractères let y = "La valeur 5 est liée avec la variable x"; // Chaîne de caractères
println!("La valeur de y est: {}", y); // affichage println!("La valeur de y est: {}", y); // affichage
} }
</code></pre> </code></pre>
- En rust le type d'une variable est **inféré** (quand c'est possible). - En rust le type d'une variable est **inféré** (quand c'est possible).
- Sinon il faut le donner explicitement: - Sinon il faut le donner explicitement:
`let symbole: type = valeur`{.rust}. `let symbole: type = valeur`{.rust}.
<pre><code data-trim="hljs rust" class="lang-rust"> <pre><code data-trim="hljs rust" class="lang-rust">
fn main() { fn main() {
let x: i32 = 5; // entier 32 bits let x: i32 = 5; // entier 32 bits
println!("La valeur de x est: {}", x); // affichage println!("La valeur de x est: {}", x); // affichage
} }
</code></pre> </code></pre>
## Quelques règles (1/2) ## Quelques règles (1/2)
- Les mot-clés du langage sont interdits pour nommer les variables. - Les mot-clés du langage sont interdits pour nommer les variables.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() { <pre><code data-trim="hljs rust" class="lang-rust">
let if = 7; fn main() {
} let if = 7;
</code></pre> }
</code></pre>
- Une variable ne peut pas être utilisée si elle n'est pas *déclarée*. - Une variable ne peut pas être utilisée si elle n'est pas *déclarée*.
<pre><code data-trim="hljs rust" class="lang-rust">
fn main() { <pre><code data-trim="hljs rust" class="lang-rust">
println!("La valeur de x est: {}", x); // affichage fn main() {
} println!("La valeur de x est: {}", x); // affichage
</code></pre> }
</code></pre>
## Quelques règles (2/2) ## Quelques règles (2/2)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment