๋ธ”๋ก

๋Ÿฌ์ŠคํŠธ์—์„œ ๋ธ”๋ก์€ ๊ฐ’๊ณผ ํƒ€์ž…์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์˜ ๋งˆ์ง€๋ง‰ ํ‘œํ˜„์‹์ด ๋ธ”๋ก์˜ ๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค:

fn main() {
    let x = {
        let y = 10;
        println!("y: {y}");
        let z = {
            let w = {
                3 + 4
            };
            println!("w: {w}");
            y * w
        };
        println!("z: {z}");
        z - y
    };
    println!("x: {x}");
}

์œ„์˜ main ํ•จ์ˆ˜๋Š” ๋งˆ์ง€๋ง‰ ํ‘œํ˜„์‹์ด ;๋กœ ๋๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’๊ณผ ํƒ€์ž…์ด ()์ž…๋‹ˆ๋‹ค.

ํ•จ์ˆ˜์—๋„ ๋™์ผํ•œ ๊ทœ์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ๋ฐ”๋””๋ฅผ ์ด๋ฃจ๋Š” ๋ธ”๋ก์˜ ๊ฐ’์ด ๋ฐ˜ํ™˜๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค:

fn double(x: i32) -> i32 {
    x + x
}

fn main() {
    println!("doubled: {}", double(7));
}

ํ‚ค ํฌ์ธํŠธ:

  • ๋Ÿฌ์ŠคํŠธ์—์„œ๋Š” ๋ธ”๋ก์ด ํƒ€์ž…๊ณผ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค๋Š” ์ ์ด ์ด ์Šฌ๋ผ์ด๋“œ์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.
  • ๋ธ”๋ก ๋งˆ์ง€๋ง‰ ์ค„์„ ์ˆ˜์ •ํ•˜๋ฉด์„œ ๋ธ”๋ก์˜ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š”์ง€ ๋ณด์—ฌ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„ธ๋ฏธ์ฝœ๋ก ์„ ๋„ฃ๊ฑฐ๋‚˜ ๋บ€๋‹ค๋“ ์ง€, ์•„๋‹ˆ๋ฉด return์„ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.