[Rust] ๋ฌธ์์ด
๋ฌ์คํธ์์๋ UTF-8์ ๊ธฐ๋ณธ ํฌ๋งท์ผ๋ก ์ฌ์ฉํ๋ค. ์ด๊ฒ ๋ฌด์จ ๋ง์ด๋๋ฉด, ์๋ฐ๋ C#์ฒ๋ผ 2๋ฐ์ดํธ์ง๋ฆฌ ์์ฑํ ์ ๋์ฝ๋๊ฐ ์๋ ๊ฐ๋ณ์ฌ์ด์ฆ์ ์ ๋์ฝ๋๋ฅผ ์ด๋ค๋ ๋ง์ด๋ค.
utf8์ ๊ธฐ๋ณธ์ ์ผ๋ก 1๋ฐ์ดํธ๋จ์๋ก ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ๋ค. ์์คํค์ฝ๋ 1๋ฐ์ดํธ์ ํด๋นํ๋ ๋ฌธ์์ผ ๊ฒฝ์ฐ 1๋ฐ์ดํธ๋ง ์ฐ์ง๋ง,
2๋ฐ์ดํธ ํฌ๋งท์ ํด๋นํ๋ ๋ฌธ์๋ผ๋ฉด ๊ทธ ํ ๋ฌธ์์ 2๋ฐ์ดํธ๋งํผ์ ์ฐ๊ณ ,
ํ๊ธ๊ฐ์ ๊ฒฝ์ฐ์๋ ๊ธ์๋น 3๋ฐ์ดํธ๋ฅผ ์ด๋ค.
4๋ฐ์ดํธ๋ ์๋ค๋๋ฐ ๋ญ๊ฐ ์๋์ง ์ ๋ชจ๋ฅธ๋ค.
์ผ๋จ ์์๋ฅผ ๋ณด์.
len()๋ฉ์๋๋ ๋ฌธ์์ด์ '๋ฐ์ดํธ'์๋ฅผ ๋ฐํํ๋ค.

hello๋ ์์คํค๋๊น 1๋ฐ์ดํธ์ฉ ํด์ 5๊ฐ ๋์๊ณ ,
์๋
์ ํ๊ธ์ด๋๊น 3๋ฐ์ดํธ์ฉ ํด์ 6์ด ๋์๋ค.
์ด๋ ๊ธฐ ๋๋ฌธ์ ์ ์ฐ์ฑ๊ณผ ํธํ์ฑ์ ๊ด์ฐฎ์ง๋ง ์ง๊ด์ฑ์ด๋ ์ฑ๋ฅ์ ์ํด๋ฅผ ๋ณด๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๋ญ ๊ฐ์ํ ๋งํ ๊ฐ์น๊ฐ ์์ผ๋ ์ฐ๊ฒ ์ง๋ง์...
์ด์จ๋ ์ง์ง ๋ฌธ์์ ๊ฐ์๋ฅผ ์ธ๋ ค๋ฉด ์ด๋ ๊ฒ ํด์ผํ๋ค.

chars๋ char์ ๋ฐฐ์ด ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
char์ ์ ๋์ฝ๋์ ์ํ์น์ธ 4๋ฐ์ดํธ์ง๋ฆฌ๋ผ์ ์ ๊ธฐ ์์ ๋ชจ๋ ๋ฌธ์๋ค์ ๋ฃ์ ์๊ฐ ์๊ณ ,
์ ๋๋ก ๋ฌธ์์ ๊ฐ์๋ฅผ ์
์ ์๋ค.
ํ์ง๋ง ๊ทธ๋งํผ ์ฑ๋ฅ๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ๋ญ๋น๊ฐ ์ฌํ๊ฒ ๋ค.
utf8์ฒด๊ณ ์์ฒด๊ฐ ์ธํ๋ถํํ๋ ์ด์ฉ์ ์๋ ๊ฒ...
์ ๊ทธ๋ฆฌ๊ณ [i] ์ธ๋ฑ์ฑ๋ ์๋๋ค.
์ด์ ํ์ ์ ๋ณด์.
๋ฌ์คํธ์ ๋ฌธ์์ด ํ์ ์๋ &str๊ณผ String์ด ์๋ค.
๋ฐ์ง์๋ฉด String์ด ๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์์ด ํ์ ์ด๊ณ ,
&str์ String์ ๋ํ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ฐธ์กฐ(์ฌ๋ผ์ด์ค)๋ผ๊ณ ๋ณผ ์๋ ์๊ฒ ๋ค.
๋ฌธ์์ด ๋ฆฌํฐ๋ด๋ &str์ผ๋ก ๋ค ์ฒ๋ฆฌ๋ฅผ ํ๊ณ , ๋ญ &str์ด ๋ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ธด ํ๊ฒ ์ง๋ง
์ข ๋ฌธ์์ด์ ์ ๋์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ค๋ฉด ๋ฐ๋์ String์ ์ฌ์ฉํด์ผ ํ๋ค.
์ด๋ด๊ฒฝ์ฐ์ ๋๋ต:
String์ ์์ฑ์ฉ ์ ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ, &str ๋ฆฌํฐ๋ด์ to_string ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๋๊ฐ์ง๊ฐ ์๋๋ฐ. ๊ฐ์ธ์ ์ผ๋ก๋ ํ์๊ฐ ๋ ์ฐ๊ธฐ๋ ํธํ๊ฒ๊ฐ๋ค.

์ด๋ฐ์์ผ๋ก ์จ๋จน์์ ์๋ค.
https://doc.rust-lang.org/std/string/struct.String.html#method.find
๋ ํผ๋ฐ์ค๋ฅผ ๋ณด์.