티스토리 뷰

Programming Language/Rust

[Rust] 데이터 타입

SdardewValley 2021. 2. 19. 17:24
반응형

러스트는 컴파일 시점에 모든 변수의 타입이 결정되어야 하는 정적 타입 언어이다.

 

🔹 스칼라 타입: 하나의 값을 표현

🔹 컴파운드 타입: 하나의 타입으로 여러개의 값을 그룹화한 타입

 

🌱컴파운드 타입

 

(1) 튜플 타입

  • 서로 다른 타입의 값들을 하나의 컴파운드 타입으로 그룹화하기에 적합
  • 고정된 길이를 가짐(크기를 변경할 수 없음)
  • 괄호(())안에 값을 쉼표로 구분해서 표기

튜플을 선언
인덱스를 통하여 값을 직접 참조
튜플 값을 해체

(2) 배열 타입

  • 같은 타입의 값들의 컬렉션
  • 고정된 길이를 가짐
  • 대괄호(square bracket, []) 안에 쉼표로 구분해서 나열
  • 데이터를 스택 메모리에 할당
  • 값을 추가하거나 삭제할 일이 없을 경우 사용

요일은 값이 정해져 있기 때문에 배열을 사용하기에 적합
배열의 값을 읽을 때 대괄호와 인덱스를 사용
배열의 타입과 원소의 개수를 지정
한 가지 값만 가지는 배열 [3, 3, 3, 3]과 같다
배열을 선언하고 인덱스를 벗어나는 값을 출력해 보았다
컴파일 타임에는 에러가 발생하지 않았지만 런타임에 에러가 발생하였다

위의 인덱스에 대한 런타임 에러 예제에서 러스트의 안정성 원리를 확인할 수 있다. 엉뚱한 메모리에 대한 접근을 허용하는 대신 프로그램을 즉각적으로 중단하는 식으로 보호 장치를 제공한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함