if, else if, else ๊ตฌ๋ฌธ์ ์ด๋ค ์กฐ๊ฑด์ด ์ฐธ์ธ์ง ๊ฑฐ์ง์ธ์ง์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ์คํ ๊ฒฝ๋ก๋ฅผ ๋ถ๊ธฐํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. Rust์์๋ ์กฐ๊ฑด ๋ถ๋ถ์ด ๋ฐ๋์ bool ํ์
์ด์ด์ผ ํ๋ฉฐ, ๋ค๋ฅธ ์ธ์ด์ฒ๋ผ 0์ด๋ null ๊ฐ์ ๊ฐ์ผ๋ก ๊ฑฐ์ง์ ํํํ๋ ๋ฐฉ์์ ํ์ฉ๋์ง ์๋๋ค. ์ฆ, ์กฐ๊ฑด์ ์์ฒด๊ฐ true ๋๋ false๋ฅผ ๋ช
์์ ์ผ๋ก ๋ฐํํด์ผ ํ๋ค. ์ด ์ ์ Rust๊ฐ ์ปดํ์ผ ๋จ๊ณ์์ ์ ์ฌ์ ์ธ ๋
ผ๋ฆฌ์ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋๋ค.
if ๊ตฌ๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์กฐ๊ฑด์์ด true์ผ ๋๋ง ๋ด๋ถ ๋ธ๋ก์ ์คํํ๋ค. else ํค์๋๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ์กฐ๊ฑด์์ด false์ผ ๊ฒฝ์ฐ์ ๋๋นํ ๋ธ๋ก์ ์์ฑํ ์ ์๋ค. ์ถ๊ฐ๋ก else if ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์กฐ๊ฑด์ ์์ฐจ์ ์ผ๋ก ํ์ธํ ์ ์์ผ๋ฉฐ, ๊ฐ ์กฐ๊ฑด์ ๋ถํฉํ๋ ๋ธ๋ก์ด ํ๋๋ผ๋ ์คํ๋๋ฉด ๋๋จธ์ง ์กฐ๊ฑด์ ๋ ์ด์ ํ์ธ๋์ง ์๋๋ค. ์ด ๋ ์กฐ๊ฑด์ ํจ์จ์ ์ผ๋ก ๊ตฌ์ฑํ์ฌ ๋ถํ์ํ ๊ณ์ฐ์ด ๋ฐ์ํ์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค.
์๋๋ if, else if, else๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ด๋ค.
fn main() {
let ์ ์ = 85;
if ์ ์ >= 90 {
println!("A ํ์ ์ด๋ค.");
} else if ์ ์ >= 80 {
println!("B ํ์ ์ด๋ค.");
} else if ์ ์ >= 70 {
println!("C ํ์ ์ด๋ค.");
} else {
println!("D ํ์ ์ดํ์ด๋ค.");
}
}
์ ์ฝ๋๋ ์ ์๊ฐ 90 ์ด์์ด๋ฉด A ํ์ ์, ๊ทธ ์ธ์ 80 ์ด์์ด๋ฉด B ํ์ , 70 ์ด์์ด๋ฉด C ํ์ , ๊ทธ ์ธ์๋ D ํ์ ์ดํ๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ์ถ๋ ฅํ๋๋ก ํ๋ค. ๊ฐ ์กฐ๊ฑด์์ ํ๊ฐ ํ true์ธ ๊ฒฝ์ฐ์ ํด๋นํ๋ ๋ธ๋ก์ ์คํํ๊ณ , ํ ๋ฒ ์คํ๋ ์ดํ์๋ ๋๋จธ์ง ์กฐ๊ฑด์ ํ์ธํ์ง ์๋๋ค.
if, else if, else๋ ๊ตฌ๋ฌธ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ ์ธ์๋ ํํ์(expression)์ผ๋ก๋ ๊ฐ์ฃผ๋๋ค. ๋ค์ ๋งํด if ๋ธ๋ก ์์ฒด๊ฐ ๊ฐ์ ๋ง๋ค์ด๋ผ ์ ์๋ค. ๋ค์ ์ฝ๋์์๋ if ํํ์์ ๊ฒฐ๊ณผ๊ฐ์ ๋ณ์์ ์ง์ ํ ๋นํ๋ค.
fn main() {
let ์ = 10;
let ๊ฒฐ๊ณผ = if ์ % 2 == 0 {
"์ง์"
} else {
"ํ์"
};
println!("{}๋(์) {}", ์, ๊ฒฐ๊ณผ);
}
์ฌ๊ธฐ์ if ์กฐ๊ฑด์์ ํตํด ์ง์๋ผ๋ฉด ๋ฌธ์์ด "์ง์"๋ฅผ, ๊ทธ๋ ์ง ์๋ค๋ฉด "ํ์"๋ฅผ ๋ฐํํ์ฌ ๊ฒฐ๊ณผ ๋ณ์์ ์ ์ฅํ๋ค. ์ด๋ฐ ๊ตฌ์กฐ๋ ์ผํญ ์ฐ์ฐ์๊ฐ ์กด์ฌํ์ง ์๋ Rust์์ ๋งค์ฐ ์์ฃผ ํ์ฉ๋๋ค. ๋จ, ๋ ๋ธ๋ก์ด ๋ค๋ฅธ ํ์
์ ๋ฐํํ๋ ค๊ณ ์๋ํ๋ฉด ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. Rust๋ ์ ์ ํ์
์ธ์ด์ด๋ฏ๋ก if ํํ์์ ๋ชจ๋ ๋ถ๊ธฐ์์ ๋์ผํ ํ์
์ ๋ฐํํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ณต์กํ ์กฐ๊ฑด์ด ๋ง์ ๊ฒฝ์ฐ์๋ match ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋
์ฑ๊ณผ ์ ์ง๋ณด์ ์ธก๋ฉด์์ ๋ ๋์ ์ ์์ผ๋, ๋จ์ํ ์ฌ๋ฌ ๋ถ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ชฉ์ ์ด๋ผ๋ฉด if, else if, else ์ฒด๊ณ๋ง์ผ๋ก๋ ์ถฉ๋ถํ ํํ์ด ๊ฐ๋ฅํ๋ค. ๋ํ ์กฐ๊ฑด ๋ถ๊ธฐ์ ๊ด๋ จ๋ ์ค๋ณต ๊ณ์ฐ์ด๋ ๋นํจ์จ์ ์ค์ด๊ธฐ ์ํด์๋ ์กฐ๊ฑด๋ฌธ์ ํ๊ฐํ๋ ์์์ ํ๋น์ฑ์ ์ธ๋ฐํ๊ฒ ์ค๊ณํ๋ ๊ฒ์ด ์ค์ํ๋ค.
if, else if, else ๊ตฌ๋ฌธ์ ํ๋ก๊ทธ๋จ ํ๋ฆ ์ ์ด์์ ํ์์ ์ด๋ค. ์กฐ๊ฑด์์ ์๊ฒฉํ๊ฒ bool ํ์
์ผ๋ก ๊ฐ์ ํจ์ผ๋ก์จ ์์์น ๋ชปํ ์ค๋ฅ ๋ฐ์์ ์ค์ด๊ณ , ํํ์์ผ๋ก์์ ํ์ฉ ๊ฐ๋ฅ์ฑ๋ ์ ๊ณตํ์ฌ ์ฝ๋์ ๊ฐ๊ฒฐํจ์ ๋์ด๋ Rust์ ํน์ฑ์ ์ ๋ณด์ฌ์ฃผ๋ ๋ํ์ ์ธ ๊ธฐ๋ฅ์ด๋ค.