[Rust] ํจํด๋งค์นญ match
match๋ rust์์ ํ ์ธ์ด์ swtich์ ํด๋นํ๋ ๊ธฐ๋ฅ์ด๋ค. ํ์ง๋ง ๋ ์ ์ฐํ๊ณ ์ฐ์์๊ฐ ๋ง๋ค.
c๋ ์๋ฐ๊ฐ์ ๊ฒฝ์ฐ์๋ case์ ๋์์ผ๋ก ๊ธฐ๋ณธ ์ ์ํ์ด๋ ์ด๊ฑฐํ๋ง ๋ค์ด๊ฐ ์ ์๋ ๋ฐ ๋ฐํด match๋ ๋ชจ๋ ํ์ ์ ๋ฐ์ ์๊ฐ ์๋ค.
์ผ๋จ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฒ์ ์ด๋ ๋ค.
match ์ ๋ฌ๊ฐ
{
์ผ์ด์ค => ... ,
์ผ์ด์ค2 => ... ,
...
}
๊ทธ๋ ๋ค.
๊ทธ๋ฆฌ๊ณ rust์๋ ํจ์ ์ค๋ฒ๋ก๋ฉ์ด ์๋ค. ์ธ์ด์ ๋ณต์ก๋๋ฅผ ์ค์ด๊ธฐ ์ํด์๋ฌ๋...?
๊ทธ๋ฐ๋ฐ ์ด๊ฑฐ์ ํํ, ํจํด๋งค์นญ์ ์์ฉํ๋ฉด ์ค๋ฒ๋ก๋ฉ์ ํ๋ด๋ผ์ ์๊ธด ํ๋ค.
์ด๋ฐ ์์ผ๋ก ๋ง์ด๋ค.
๋ญ๊ฐ ๋ง์ด ๊ฑด๋๋ด ๊ฒ ๊ฐ์ด ๋๊ปด์ง๋ค๋ฉด, ์ฌ์ค์ด๋ค. ๊ท์ฐฎ์์ ๋๋ ์ ์ฐจ๊ทผ์ฐจ๊ทผ ์ธ ๊ฑธ ๋ค ๋ฌถ์ด๋ฒ๋ ธ๋ค.
์ด๊ฑฐ+ํํ๋ก ์ค๋ฒ๋ก๋ฉํ ํญ๋ชฉ๋ค์ ๋ฏธ๋ฆฌ ์ ํ๋ค์์
๊ทธ ์ด๊ฑฐ ๊ฐ์ผ๋ก ์ธ์๋ฅผ ๋ฐ๊ณ , ๊ทธ ์ด๊ฑฐ ๋ฉค๋ฒ์ ํด๋นํ๋ case๋ก ์ด๋ํด์ ๊ทธ ์ค๋ฒ๋ก๋ฉ์ ํด๋นํ๋ ์ฐ์ฐ์ ์ํํ๋ค.
์ข๋ ๋ถํธํ๊ธด ํ์ง๋ง ๋์ถฉ ๋๋์ ๋๋ค.
์ค๋ฒ๋ก๋ฉ์ข ๋ฃ์ด์ค...
๋ง์ง๋ง์ผ๋ก match ๊ตฌ๋ฌธ์ if๊ฐ ์ค์ฒฉ๋ ํ์์ธ guard ๊ตฌ๋ฌธ์ด ์๋ค.
one๊ณผ two๋ผ๋ ๋์์ ๋ฐ์ธ๋ฉ ํ ๋ค์์ ์กฐ๊ฑด์ ๋ง๋ ๋ถ๋ถ๋ง ์ํํ๊ณ ์๋ค.
๋