ํ์ ์ถ๋ก
๋ฌ์คํธ๋ ๋ณ์๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง๋ฅผ ๋ณด๊ณ ๊ทธ ๋ณ์์ ํ์ ์ ์ถ๋ก ํฉ๋๋ค:
fn takes_u32(x: u32) { println!("u32: {x}"); } fn takes_i8(y: i8) { println!("i8: {y}"); } fn main() { let x = 10; let y = 20; takes_u32(x); takes_i8(y); // takes_u32(y); }
์ด ์ฌ๋ผ์ด๋๋, ๋ฌ์คํธ ์ปดํ์ผ๋ฌ๊ฐ ๋ณ์๊ฐ ์ด๋ป๊ฒ ์ ์ธ๋์ด ์๊ณ , ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง๋ฅผ ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ์ผ์์ ๋ณ์์ ํ์ ์ ์ถ๋ก ํ๋ ๋ชจ์ต์ ๋ณด์ฌ์ค๋๋ค.
์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์, ์ด๋ ๊ฒ ๋ช ์์ ์ธ ํ์ ์ ์๋ตํ๊ณ ์ ์ธ๋์๋ค๊ณ ํด์ โ์ด๋ค ํ์ โ์ด๋ผ๋ ๋ค ๋ด์ ์ ์๋ ํ์ ์ด ๋๋ ๊ฒ์ ์๋๋ผ๋ ์ ์ ๋๋ค. ๋ช ์์ ์ธ ํ์ ์ ์ธ์ด ์๋ ์๋, ์ปดํ์ผ๋ฌ๊ฐ ์์ฑํ ๋จธ์ ์ฝ๋๋ ๋์ผํฉ๋๋ค. ์ปดํ์ผ๋ฌ๋ ๋จ์ง ํ์ ์ ์ธ์ ์๋ตํ ์ ์๋๋ก ํด์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์ธ ์ ์๋๋ก ๋์์ค ๋ฟ์ ๋๋ค.
์๋ฌด๊ฒ๋ ์ ์ ๋ฆฌํฐ๋ด์ ํ์
์ ์ ํํ์ง ์๋ ๊ฒฝ์ฐ Rust๋ ๊ธฐ๋ณธ์ ์ผ๋ก i32
๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ค๋ฅ ๋ฉ์์ง์ {integer}
๋ก ํ์๋ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๋ถ๋ ์์์ ๋ฆฌํฐ๋ด์ ๊ธฐ๋ณธ๊ฐ์ f64
์
๋๋ค.
fn main() { let x = 3.14; let y = 20; assert_eq!(x, y); // ERROR: `{float} == {integer}` ๊ตฌํ์ด ์์ }