콘텐츠로 이동
Xen / docs

문서 검색

한국어 · v0.1.0-demo.3

검색어를 입력하세요.

    EN
    Xen / learn v0.1.0-demo.3

    변수와 값

    let으로 값에 이름을 붙입니다. 값을 나중에 바꾸려면 let mut을 사용합니다. : Int처럼 타입을 적을 수 있고, 값만으로 타입이 분명하면 생략할 수 있습니다.

    다음을 variables.xen으로 저장하세요.

    fn main() {
    let price: Int = 12;
    let mut quantity = 2;
    quantity = quantity + 1;
    let total = price * quantity;
    println(total);
    println(float(total) / 2.0);
    }
    터미널 창
    $ xen run variables.xen
    36
    18.0

    quantity를 바꾸어도 이미 계산해 둔 total은 자동으로 바뀌지 않습니다. 새로운 합계를 얻으려면 다시 계산해야 합니다. let으로 선언한 변수에 새 값을 대입하면 오류가 납니다.

    타입사용하는 값
    Int42, -7 같은 정수 (I64와 같은 타입)
    Float2.5 같은 실수 (F64와 같은 타입)
    Booltrue, false
    String"hello" 같은 문자열
    Unit결과가 없는 함수의 반환 타입; 값은 ()

    처음에는 정수에 Int, 소수에 Float, 조건에 Bool, 글에 String을 사용하세요. 값의 종류가 분명하면 예제의 quantity처럼 타입을 생략할 수 있습니다.

    +, -, *, /로 계산하고 정수의 나머지는 %로 구합니다. Int끼리의 나눗셈은 정수 결과를 냅니다. 소수 결과가 필요하면 예제처럼 먼저 float(...)로 변환하세요.

    0으로 나누면 실행 오류가 납니다. 숫자 타입의 크기와 범위, 서로 다른 타입 사이의 변환은 다음 장에서 다룹니다.

    ==, !=, <, <=, >, >=로 비교하면 Bool이 됩니다. 조건은 &&, ||, !로 조합합니다. &&와 ||는 왼쪽 값만으로 결과가 정해지면 오른쪽을 실행하지 않습니다. // 뒤에는 해당 줄의 주석을 적습니다.

    같은 블록에서 이름을 두 번 선언할 수 없습니다. 안쪽 { ... } 블록에서는 바깥 변수와 같은 이름을 새로 선언할 수 있으며, 블록을 나가면 바깥 이름이 다시 보입니다.

    자료형 선택, 숫자 변환 오류, 타입 추론의 경계는 다음 장 자료형과 형 변환에서 예제로 다룹니다.