basic

rust
공개

2026년 1월 31일

문법

  • 문자는 기본적으로 ascii가 아닌 유니코드로 처리된다.
  • 구문과 표현식이 구분되어 있다.
    • let x = let y = 6 -> 오류
    • 표현식은 ;가 없어야 한다.
  • rust는 bool type 자동 변환을 하지 않는다.
  • loop에 레이블을 붙일 수 있다.
  • break로 값을 반환하거나 레이블로 탈출할 수 있다.
  • scope를 벗어나는 동적 변수들은 drop 함수가 호출되어 자동으로 메모리가 해제된다.
    • 얕은 복사가 일어날 경우 double free가 발생할 수 있기 때문에 rust에서는 move가 일어남. (이전 변수는 더이상 사용 불가)
      • 이로 인해 참조자 없이 method에 인자로 넘겨줄 경우, 넘긴 변수는 그 다음부터 사용 불가
        • 참조자(reference)를 사용하면 됨. 그러나 참조자를 사용하면 변수 수정 불가
          • 가변 참조자(mut)를 사용하면 변수 수정 가능
            • 단, 가변 참조자는 한 번에 하나만 존재할 수 있음.
  • 구조체의 properties는 기본적으로 private. method를 정의해줌으로써 공개함.
  • enum의 variant는 기본적으로 public

패키지 관리

  • 바이너리, 라이브러리 크래이트를 만들 수 있다.
  • src/bin/ 디렉토리에 여러 바이너리 크래이트를 넣을 수 있다.
맨 위로