์ฉ์ด์ง
๋ค์์ ์ฌ๋ฌ Rust ์ฉ์ด์ ๊ฐ๋จํ ์ ์๋ฅผ ์ ๊ณตํ๋ ์ฉ์ด์ง์ ๋๋ค. ๋ฒ์ญ์ ๊ฒฝ์ฐ ์ฉ์ด๋ฅผ ๋ค์ ์์ด ์๋ณธ์ ์ฐ๊ฒฐํ๋ ์ญํ ๋ ํฉ๋๋ค.
- ํ ๋น:
ํ์ ๋ํ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋๋ค. - ์ธ์:
ํจ์๋ ๋ฉ์๋์ ์ ๋ฌ๋๋ ์ ๋ณด์ ๋๋ค. - Bare-metal Rust:
๋ฎ์ ์์ค์ Rust ๊ฐ๋ฐ๋ก, ์ด์์ฒด์ ๊ฐ ์๋ ์์คํ ์ ๋ฐฐํฌ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Bare-metal Rust๋ฅผ ์ฐธ๊ณ ํ์ธ์. - ๋ธ๋ก:
๋ธ๋ก ๋ฐ _๋ฒ์_๋ฅผ ์ฐธ๊ณ ํ์ธ์. - ๋น๋ฆผ:
๋น๋ฆผ์ ์ฐธ๊ณ ํ์ธ์. - ๋น๋ฆผ ๊ฒ์ฌ๊ธฐ:
๋ชจ๋ ๋น๋ฆผ์ด ์ ํจํ์ง ํ์ธํ๋ Rust ์ปดํ์ผ๋ฌ์ ๋ถ๋ถ์ ๋๋ค. - ๊ดํธ:
{
and}
. _์ค๊ดํธ_๋ผ๊ณ ๋ ํ๋ฉฐ _๋ธ๋ก_์ ๊ตฌ๋ถํฉ๋๋ค. - ๋น๋:
์์ค ์ฝ๋๋ฅผ ์คํ ๊ฐ๋ฅํ ์ฝ๋ ๋๋ ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณํํ๋ ํ๋ก์ธ์ค์ ๋๋ค. - ํธ์ถ:
ํจ์ ๋๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ฑฐ๋ ์คํํฉ๋๋ค. - ์ฑ๋:
์ค๋ ๋ ๊ฐ์ ๋ฉ์์ง๋ฅผ ์์ ํ๊ฒ ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. - Comprehensive Rust ๐ฆ:
์ด ๊ณผ์ ์ Comprehensive Rust ๐ฆ๋ก ํต์นญ๋ฉ๋๋ค. - ๋์ ์คํ:
์ฌ๋ฌ ์์ ๋๋ ํ๋ก์ธ์ค๋ฅผ ๋์์ ์คํํฉ๋๋ค. - Rust์ ๋์ ์คํ:
Rust์ ๋์ ์คํ์ ์ฐธ๊ณ ํ์ธ์. - ์์:
ํ๋ก๊ทธ๋จ ์คํ ์ค์ ๋ณ๊ฒฝ๋์ง ์๋ ๊ฐ์ ๋๋ค. - ์ ์ด ํ๋ฆ:
ํ๋ก๊ทธ๋จ์์ ๊ฐ๋ณ ๋ฌธ ๋๋ ๋ช ๋ น์ด ์คํ๋๋ ์์์ ๋๋ค. - ๋น์ ์ ์ข
๋ฃ:
ํ๋ก๊ทธ๋จ์ ์๊ธฐ์น ์๊ฑฐ๋ ์ฒ๋ฆฌ๋์ง ์์ ์ค๋ฅ ๋๋ ์ข ๋ฃ์ ๋๋ค. - enumeration:
A data type that holds one of several named constants, possibly with an associated tuple or struct. - ์ค๋ฅ:
์์ ๋์์ ๋ฒ์ด๋๋ ์๊ธฐ์น ๋ชปํ ์ํ๋ ๊ฒฐ๊ณผ์ ๋๋ค. - ์ค๋ฅ ์ฒ๋ฆฌ:
ํ๋ก๊ทธ๋จ ์คํ ์ค์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ด์ ๋์ํ๋ ํ๋ก์ธ์ค์ ๋๋ค. - ์ฐ์ต:
ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ์ฐ์ตํ๊ณ ํ ์คํธํ๊ธฐ ์ํ ๊ณผ์ ๋๋ ๋ฌธ์ ์ ๋๋ค. - ํจ์:
ํน์ ์์ ์ ์คํํ๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ๋ธ๋ก์ ๋๋ค. - ๊ฐ๋น์ง ์ปฌ๋ ํฐ:
๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๊ฐ์ฒด๊ฐ ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด์ ํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. - ์ ๋ค๋ฆญ:
ํ์ ์ ๊ดํ ์๋ฆฌํ์์๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก, ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค. - ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ:
์์ฑ ํ์๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. - ํตํฉ ํ
์คํธ:
์์คํ ์ ์ฌ๋ฌ ๋ถ๋ถ ๋๋ ๊ตฌ์ฑ์์ ๊ฐ์ ์ํธ์์ฉ์ ํ์ธํ๋ ํ ์คํธ ํ์ ์ ๋๋ค. - ํค์๋:
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ํน์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ฉฐ ์๋ณ์๋ก ์ฌ์ฉ๋ ์ ์๋ ์์ฝ์ด์ ๋๋ค. - ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์๋ ์ฌ์ ์ปดํ์ผ๋ ๋ฃจํด ๋๋ ์ฝ๋ ๋ชจ์์ ๋๋ค. - ๋งคํฌ๋ก:
Rust ๋งคํฌ๋ก๋ ์ด๋ฆ์!
๋ก ์ธ์๋ ์ ์์ต๋๋ค. ๋งคํฌ๋ก๋ ์ผ๋ฐ ํจ์๊ฐ ์ถฉ๋ถํ์ง ์์ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ธ ์๋ก๋ ๊ฐ๋ณ์ ์ธ ์ธ์ ์๋ฅผ ์ฌ์ฉํ๋format!
์ด ์๋๋ฐ, ์ด๋ Rust ํจ์์์ ์ง์๋์ง ์์ต๋๋ค. main
ํจ์:
Rust ํ๋ก๊ทธ๋จ์main
ํจ์๋ก ์คํ์ ์์ํฉ๋๋ค.- ์ผ์น:
ํํ์ ๊ฐ์ ๋ํ ํจํด ์ผ์น๋ฅผ ํ์ฉํ๋ Rust์ ์ ์ด ํ๋ฆ ๊ตฌ์ฑ์ ๋๋ค. - ๋ฉ๋ชจ๋ฆฌ ๋์:
ํ๋ก๊ทธ๋จ์ด ๋ ์ด์ ํ์ํ์ง ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ์ง ๋ชปํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ์ฐจ ๋์ด๋๋ ์ํฉ์ ๋๋ค. - ๋ฉ์๋:
Rust์ ๊ฐ์ฒด๋ ํ์ ๊ณผ ๊ด๋ จ๋ ํจ์์ ๋๋ค. - ๋ชจ๋:
Rust์์ ์ฝ๋๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ํจ์, ํ์ ๋๋ ํธ๋ ์๊ณผ ๊ฐ์ ์ ์๊ฐ ํฌํจ๋ ๋ค์์คํ์ด์ค์ ๋๋ค. - ์ด๋:
Rust์์ ํ ๋ณ์์์ ๋ค๋ฅธ ๋ณ์๋ก ๊ฐ์ ์์ ๊ถ์ ์ด์ ํ๋ ๊ฒ์ ๋๋ค. - mutable:
์ ์ธ๋ ํ ๋ณ์๋ฅผ ์์ ํ ์ ์๋ Rust์ ์์ฑ์ ๋๋ค. - ์์ ๊ถ:
๊ฐ๊ณผ ๊ด๋ จ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ์ฝ๋์ ๋ถ๋ถ์ ์ ์ํ๋ Rust์ ๊ฐ๋ ์ ๋๋ค. - ํจ๋:
Rust์์ ๋ณต๊ตฌํ ์ ์๋ ์ค๋ฅ ์ํ๋ก, ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ฉ๋๋ค. - ๋งค๊ฐ๋ณ์:
ํธ์ถ ์ ํจ์๋ ๋ฉ์๋๋ก ์ ๋ฌ๋๋ ๊ฐ์ ๋๋ค. - ํจํด:
Rust์ ํํ์๊ณผ ์ผ์น์ํฌ ์ ์๋ ๊ฐ, ๋ฆฌํฐ๋ด ๋๋ ๊ตฌ์กฐ์ ์กฐํฉ์ ๋๋ค. - ํ์ด๋ก๋:
๋ฉ์์ง, ์ด๋ฒคํธ ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ํด ์ ๋ฌ๋๋ ๋ฐ์ดํฐ ๋๋ ์ ๋ณด์ ๋๋ค. - ํ๋ก๊ทธ๋จ:
์ปดํจํฐ๊ฐ ํน์ ์์ ์ ์ํํ๊ฑฐ๋ ํน์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์คํํ ์ ์๋ ์ผ๋ จ์ ๋ช ๋ น์ ๋๋ค. - ํ๋ก๊ทธ๋๋ฐ ์ธ์ด: ์ปดํจํฐ์ ๋ช ๋ น์ ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ณต์ ์์คํ ์ ๋๋ค(์: Rust).
- ์์ ์:
๋ฉ์๋๊ฐ ํธ์ถ๋๋ ์ธ์คํด์ค๋ฅผ ๋ํ๋ด๋ Rust ๋ฉ์๋์ ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์์ ๋๋ค. - ์ฐธ์กฐ ๊ณ์ฐ:
๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ ์๋ฅผ ์ถ์ ํ๊ณ ๊ฐ์๊ฐ 0์ ๋๋ฌํ๋ฉด ๊ฐ์ฒด์ ํ ๋น์ ํด์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ๋๋ค. - return:
ํจ์์์ ๋ฐํ๋ ๊ฐ์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ Rust์ ํค์๋์ ๋๋ค. - Rust:
์์ , ์ฑ๋ฅ, ๋์ ์คํ์ ์ค์ ์ ๋ ์์คํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. - Rust Fundamentals:
Days 1 to 4 of this course. - Android์ Rust:
Android์ Rust๋ฅผ ์ฐธ๊ณ ํ์ธ์. - Chromium์ Rust:
Chromium์ Rust๋ฅผ ์ฐธ๊ณ ํ์ธ์. - ์์ :
Rust์ ์์ ๊ถ ๋ฐ ๋น๋ฆผ ๊ท์น์ ์ค์ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๋ ์ฝ๋๋ฅผ ๋ํ๋ ๋๋ค. - ๋ฒ์:
๋ณ์๊ฐ ์ ํจํ์ฌ ์ฌ์ฉํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์์ญ์ ๋๋ค. - ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
Rust์์ ํ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ชจ๋ ๋ชจ์์ ๋๋ค. - static:
Rust์์'static
์ ์ฒด ๊ธฐ๊ฐ์ผ๋ก ์ ์ ๋ณ์ ๋๋ ํญ๋ชฉ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค์๋์ ๋๋ค. - ๋ฌธ์์ด:
ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค. ์์ธํ ๋ด์ฉ์String
๋ฐstr
์ ์ฐธ๊ณ ํ์ธ์. - ๊ตฌ์กฐ์ฒด:
๋ค์ํ ํ์ ์ ๋ณ์๋ฅผ ๋จ์ผ ์ด๋ฆ์ผ๋ก ๊ทธ๋ฃนํํ๋ Rust์ ๋ณตํฉ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค. - test:
๋ค๋ฅธ ํจ์์ ์ ํ์ฑ์ ํ ์คํธํ๋ ํจ์๊ฐ ํฌํจ๋ Rust ๋ชจ๋์ ๋๋ค. - ์ค๋ ๋:
ํ๋ก๊ทธ๋จ์ ๋ณ๋ ์คํ ์ํ์ค๋ก, ๋์ ์คํ์ ํ์ฉํฉ๋๋ค. - ์ค๋ ๋ ์์ :
๋ค์ค ์ค๋ ๋ ํ๊ฒฝ์์ ์ฌ๋ฐ๋ฅธ ๋์์ ๋ณด์ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑ์ ๋๋ค. - ํธ๋ ์:
์ ์ ์๋ ํ์ ์ ๊ดํด ์ ์๋ ๋ฉ์๋ ๋ชจ์์ผ๋ก, Rust์์ ๋คํ์ฑ์ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. - trait bound:
An abstraction where you can require types to implement some traits of your interest. - tuple:
A composite data type that contains variables of different types. Tuple fields have no names, and are accessed by their ordinal numbers. - ํ์
:
Rust์์ ํน์ ์ข ๋ฅ์ ๊ฐ์ ๋ํด ์ด๋ค ์์ ์ ์คํํ ์ ์๋์ง ์ง์ ํ๋ ๋ถ๋ฅ์ ๋๋ค. - ํ์
์ถ๋ก :
๋ณ์๋ ํํ์์ ํ์ ์ ์ถ๋ก ํ๋ Rust ์ปดํ์ผ๋ฌ์ ๊ธฐ๋ฅ์ ๋๋ค. - ์ ์๋์ง ์์ ๋์:
์ง์ ๋ ๊ฒฐ๊ณผ๊ฐ ์๋ Rust์ ์์ ๋๋ ์กฐ๊ฑด์ผ๋ก, ์ข ์ข ์์ธกํ ์ ์๋ ํ๋ก๊ทธ๋จ ๋์์ ์ด๋ํฉ๋๋ค. - union:
ํ ๋ฒ์ ํ๋์ฉ๋ง ์ฌ๋ฌ ํ์ ์ ๊ฐ์ ๋ณด์ ํ ์ ์๋ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค. - ๋จ์ ํ
์คํธ:
Rust์๋ ์์ ๋จ์ ํ ์คํธ์ ๋๊ท๋ชจ ํตํฉ ํ ์คํธ๋ฅผ ์คํํ ์ ์๋ ์ง์ ๊ธฐ๋ฅ์ด ๋ด์ฅ๋์ด ์์ต๋๋ค. ๋จ์ ํ ์คํธ๋ฅผ ์ฐธ๊ณ ํ์ธ์. - unit type:
Type that holds no data, written as a tuple with no members. - ์์ ํ์ง ์์:
_์ ์๋์ง ์์ ๋์_์ ํธ๋ฆฌ๊ฑฐํ ์ ์๋ Rust์ ํ์ ์งํฉ์ ๋๋ค. ์์ ํ์ง ์์ Rust๋ฅผ ์ฐธ๊ณ ํ์ธ์. - variable:
A memory location storing data. Variables are valid in a scope.