diff options
Diffstat (limited to 'public')
-rw-r--r-- | public/categories/code/index.html | 9 | ||||
-rw-r--r-- | public/categories/index.html | 2 | ||||
-rw-r--r-- | public/index.html | 28 | ||||
-rw-r--r-- | public/post/index.html | 28 | ||||
-rw-r--r-- | public/post/no-problemo/index.html | 4 | ||||
-rw-r--r-- | public/post/rust-basic/index.html | 107 | ||||
-rw-r--r-- | public/sitemap.xml | 7 | ||||
-rw-r--r-- | public/tags/index.html | 5 | ||||
-rw-r--r-- | public/tags/rust/index.html | 57 |
9 files changed, 244 insertions, 3 deletions
diff --git a/public/categories/code/index.html b/public/categories/code/index.html index ef76831..5573296 100644 --- a/public/categories/code/index.html +++ b/public/categories/code/index.html @@ -37,6 +37,15 @@ <p> <div class="date"> + 2023-01-12 + </div> + <div class="archive_title"> + <a href="https://blog.garhve.com/post/rust-basic/">rust basic -- types and ownership</a> + </div> +</p> + +<p> + <div class="date"> 2022-09-29 </div> <div class="archive_title"> diff --git a/public/categories/index.html b/public/categories/index.html index addaa1a..bb154ac 100644 --- a/public/categories/index.html +++ b/public/categories/index.html @@ -38,7 +38,7 @@ <li> <a href="https://blog.garhve.com/categories/code/">/code</a> - (3) + (4) </li> <li> diff --git a/public/index.html b/public/index.html index 44f11a4..51cc3e5 100644 --- a/public/index.html +++ b/public/index.html @@ -35,6 +35,34 @@ + <h3>2023 </h3> + + + <p> + <div class="date"> + 2023-01-12 + </div> + + <div class="title"> + <a href="https://blog.garhve.com/post/rust-basic/">rust basic -- types and ownership</a> + </div> + + <div class="taxonomies_index"> + + +  <a href="https://blog.garhve.com/categories/code/">/code</a> + + + + + +  <a href="https://blog.garhve.com/tags/rust/">#rust</a> + + + </div> + </p> + + <h3>2022 </h3> diff --git a/public/post/index.html b/public/post/index.html index 44f11a4..51cc3e5 100644 --- a/public/post/index.html +++ b/public/post/index.html @@ -35,6 +35,34 @@ + <h3>2023 </h3> + + + <p> + <div class="date"> + 2023-01-12 + </div> + + <div class="title"> + <a href="https://blog.garhve.com/post/rust-basic/">rust basic -- types and ownership</a> + </div> + + <div class="taxonomies_index"> + + +  <a href="https://blog.garhve.com/categories/code/">/code</a> + + + + + +  <a href="https://blog.garhve.com/tags/rust/">#rust</a> + + + </div> + </p> + + <h3>2022 </h3> diff --git a/public/post/no-problemo/index.html b/public/post/no-problemo/index.html index cb80737..3742499 100644 --- a/public/post/no-problemo/index.html +++ b/public/post/no-problemo/index.html @@ -55,9 +55,9 @@ <p>My feeling to express are fading... Not sure how I know it, just got this sense.</p> <p>Recently, I picked up an anime named "<a href="https://en.wikipedia.org/wiki/The_Simpsons">The Simpsons</a>" which I watched first episode back in highschool. This first time was not gave me too much impression. -but I fell in love with it right after re-watched first episode! So I downloaded the series up to 17.(33 in total but I'm not in rush) +but I fell in love with it right after re-watched first episode! So I downloaded the half of the whole series. <img src="https://assets.garhve.com/pictures/screenshots/2022/12/ob8AFE.png" alt="simpson tv list" /></p> -<p>It double</p> +<p>The anime is just about </p> </p> diff --git a/public/post/rust-basic/index.html b/public/post/rust-basic/index.html new file mode 100644 index 0000000..262aee3 --- /dev/null +++ b/public/post/rust-basic/index.html @@ -0,0 +1,107 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + +<title>rust basic -- types and ownership | garhve's gibberish</title> + + + <link rel="shortcut icon" type="image/png" href="/images/favicon.png"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + + <link id="stylesheet" rel="stylesheet" type="text/css" href="/dark.css"> + + <script type="text/javascript" src="/js/theme.js"></script> + +</head> + +<div class="header"> + <div class="site_title"> + <p><a href="/"><img src="https://blog.garhve.com/images/logo.png" alt="garhve's gibberish" + width="70" height=auto></a></p> + <p><a href="/"> garhve's gibberish</a></p> + </div> + <div class="menu"> + <!-- <a href="/tags">tags</a> + --><a href="/categories">categories</a> + </div> +</div> + +<body onload="getTheme()"> + <section class="section"> + <div class="container"> + +<p> + <div class="title_postpage">rust basic -- types and ownership</div> +</p> +<p> + <div class="date_postpage">2023-01-12</div> + <div class="taxonomies_postpage"> + + + <a href="https://blog.garhve.com/categories/code/">/code</a> + + + + +  <a href="https://blog.garhve.com/tags/rust/">#rust</a> + + + </div> +</p> + +<p> + <h2 id="types">Types</h2> +<blockquote> +<p>This is a summary of rust basic knowledge I learned from (Rust the Book)[https://doc.rust-lang.org/book/] chapter 1 ~ chapter 13 +I will use C to compare with since I familiar it.</p> +</blockquote> +<p>There are a bunch of built-in types we can work with: <em>scalar types</em> and <em>compound types</em>. +Those scalar types are just alike as C language. +| scalar types | rust | c | +| ------------- |------------- | ------- | +| integer | i(u)8/i16/i32<default>/i64 | (unsigned) char/short/int/long | +| float | f32/f64<default> | float/double | +| boolean | true/false | True/False (non-zero/zero) | +| character | char | char |</p> +<p>The compound types are a bit different. rust provides many hands-on types where C type is not the same or needs to define explicitly.</p> +<table><thead><tr><th>compound type</th><th>rust</th><th>c</th></tr></thead><tbody> +<tr><td>struct</td><td>same</td><td>same</td></tr> +<tr><td>enum</td><td>enum element can be seen as key that could take value</td><td>represent numberic value, default starting from 0</td></tr> +<tr><td>array</td><td>vector</td><td>array</td></tr> +<tr><td>string</td><td>a wraper of vector</td><td>pointer of char *</td></tr> +<tr><td>tuple</td><td>exist</td><td>no such type in C</td></tr> +</tbody></table> +<p>Variable declaration in rust is kinda tricky.</p> +<p>A normal declare syntax would be like <code>let unmutable_variable = 3</code>. This will imply that variable is <code>i32</code> type +since the value we assign to is a integer and the default type for integer on most OS is <code>i32</code>. +We can explicit type by using type annotation: <code>let unmutable_variable: u8 = 3</code>. This will make variable +<code>unmutable_variable</code> is <code>u8</code> type and has 3 as its value. We need to assign a value +to variable if we don't annotate type while declaration, otherwise compiler would prompt error.</p> +<p>Notice that, declaration as above one won't allow us to change value, if we want to be able to change variable's +value at runtime, we need to explicit it, for security reason: </p> +<pre data-lang="rust" style="background-color:#2e3440;color:#d8dee9;" class="language-rust "><code class="language-rust" data-lang="rust"><span style="color:#81a1c1;">let mut</span><span> mutable_variable </span><span style="color:#81a1c1;">= </span><span style="color:#b48ead;">3</span><span style="color:#eceff4;">; +</span><span>println!(</span><span style="color:#a3be8c;">"first define: </span><span style="color:#ebcb8b;">{mutable_variable}</span><span style="color:#a3be8c;">"</span><span>)</span><span style="color:#eceff4;">; +</span><span>mutable_variable </span><span style="color:#81a1c1;">= </span><span style="color:#b48ead;">5</span><span style="color:#eceff4;">; +</span><span> +</span><span>println!(</span><span style="color:#a3be8c;">"change value to: </span><span style="color:#ebcb8b;">{mutable_variable}</span><span style="color:#a3be8c;">"</span><span>)</span><span style="color:#eceff4;">; +</span></code></pre> +<blockquote> +<p><code>println!()</code> is called macro, which would not cover for now.</p> +</blockquote> + +</p> + + + + + </div> + </section> +</body> + +<div class="footer"> +  © garhve +</div> + +</html> diff --git a/public/sitemap.xml b/public/sitemap.xml index 02cae4b..89cf628 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -59,6 +59,10 @@ <lastmod>2022-11-07</lastmod> </url> <url> + <loc>https://blog.garhve.com/post/rust-basic/</loc> + <lastmod>2023-01-12</lastmod> + </url> + <url> <loc>https://blog.garhve.com/post/sui-bi-1/</loc> <lastmod>2022-12-20</lastmod> </url> @@ -77,4 +81,7 @@ <url> <loc>https://blog.garhve.com/tags/linux/</loc> </url> + <url> + <loc>https://blog.garhve.com/tags/rust/</loc> + </url> </urlset> diff --git a/public/tags/index.html b/public/tags/index.html index 64ba538..3aa2945 100644 --- a/public/tags/index.html +++ b/public/tags/index.html @@ -56,6 +56,11 @@ (1) </li> + <li> + <a href="https://blog.garhve.com/tags/rust/">#rust</a> + (1) + </li> + </ul> </div> diff --git a/public/tags/rust/index.html b/public/tags/rust/index.html new file mode 100644 index 0000000..5928831 --- /dev/null +++ b/public/tags/rust/index.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + +<title>rust | garhve's gibberish</title> + + + <link rel="shortcut icon" type="image/png" href="/images/favicon.png"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + + <link id="stylesheet" rel="stylesheet" type="text/css" href="/dark.css"> + + <script type="text/javascript" src="/js/theme.js"></script> + +</head> + +<div class="header"> + <div class="site_title"> + <p><a href="/"><img src="https://blog.garhve.com/images/logo.png" alt="garhve's gibberish" + width="70" height=auto></a></p> + <p><a href="/"> garhve's gibberish</a></p> + </div> + <div class="menu"> + <!-- <a href="/tags">tags</a> + --><a href="/categories">categories</a> + </div> +</div> + +<body onload="getTheme()"> + <section class="section"> + <div class="container"> + +<p class="archive_title">[Tag: rust]</p> + + +<p> + <div class="date"> + 2023-01-12 + </div> + <div class="archive_title"> + <a href="https://blog.garhve.com/post/rust-basic/">rust basic -- types and ownership</a> + </div> +</p> + + + + </div> + </section> +</body> + +<div class="footer"> +  © garhve +</div> + +</html> |