Rust로 기본으로 돌아가기: 파트 1

5644 단어 rustlearning
코드의 처음 몇 줄은 일반적으로 선언입니다. let num = 0 . 대부분의 경우 어떤 정수 유형을 선택하거나 표시할지에 대해 너무 많이 생각하지 않고 마치 자동 조종 장치에 있는 것과 같습니다. 변수를 선언할 때let num = 0; 컴파일러가 유형을 추가하고 변수가 변경할 수 없음을 나타낼 것으로 예상합니다. 자동 조종 장치를 끄고 let num: i32 = 1;가 무엇을 의미하는지 이해하겠습니다.

책에 명시된 대로 기본적으로 변수는 변경할 수 없습니다.
  • 변경할 수 없는 수단은 변경할 수 없습니다( Read-Only ).
  • 변경 가능하며 변경할 수 있습니다( ReadWrite ).

  • 다른 언어에서 변수를 변경할 수 없는 경우 상수(const)를 생각할 수 있습니다. 상수와 불변 변수의 차이점:

        const SEVEN: i32 = 7; // constant
        let seven = 7; // immutable variable
        let mut six = 6; // mutable variable
    


    끊임없는


  • const에는 SNAKE_CASE 대문자 이름이 있어야 합니다. 그렇지 않으면 경고가 표시됩니다.
    constant `seven` should have an upper case name
    .
  • const는 유형을 지정해야 합니다(아래 오류 참조).
  • const는 절대 변경할 수 없습니다. 즉, mut 키워드를 추가할 수 없습니다.

  • error: missing type for `const` item
     --> src/main.rs:1:7
      |
    1 | const SEVEN = 7;
      |       ^^^^^ help: provide a type for the constant: `SEVEN: i32`
    
    


    불변


  • 컴파일러가 지원하는 유형을 생략하면 유형을 지정하지 않아도 됩니다.
  • immutable은 mut 키워드를 추가하여 mutable로 변환할 수 있습니다.
  • naming conversion을 보면 변수는 항상 snake_case 소문자입니다.

  • 상수는 정수든 튜플이든 배열이든 항상 유형을 지정해야 합니다. 정수를 보면 i8 , u32 등 여러 유형이 있습니다.

    정수를 선택하기 전에 Rust에는 부호 있는i 유형과 부호 없는u 유형이 있다는 것을 이해해야 합니다.
  • 부호 있는i 유형은 선택한 비트에 따라 양수(+) 및 음수(-) 값을 모두 허용합니다.
  • 부호 없음u은 양수(+) 값만 허용합니다.
  • i 또는 u 옆에는 비트가 있으므로 8-bits , 32-bits 등이 있습니다. 비트는 저장 용량을 나타냅니다. 예를 들어 u8는 0에서 255까지의 값을 저장하며 그 위의 값은 아래 오류가 발생합니다.

    error: literal out of range for `u8`
     --> src/main.rs:3:17
      |
    3 |     let x: u8 = 256;
      |                 ^^^
      |
      = note: `#[deny(overflowing_literals)]` on by default
      = note: the literal `256` does not fit into the type `u8` whose range is `0..=255`
    


    컴퓨터 아키텍처의 크기에 따라 달라지는 usizeisize 도 있습니다. 따라서 32-bit 머신을 실행하는 경우 usize는 u32(32비트)일 수 있습니다. floats( f32f64 ), boolean( bool ), arrays( [1, 2, 3] ) 등과 같은 다른 유형이 있습니다.

    좋은 웹페이지 즐겨찾기