타입
원시타입 (스택)
- 양의 정수 (
u
nsigned integer)u8
: 0 ~ 255u64
: 0 ~ 18,446,744,073,709,551,615
- 정수 (signed
i
nteger)i8
: -128 ~ 127i64
: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
- 부동소수점
f32
: -3.4_10^38 ~ 3.4_10^38, 대략 소수점 이하 7자리 수 -> 잘 안씀f64
: f32대비 속도차이가 잘 나지않아 자주 씀
- 논리 :
true
/false
- 문자 : 'a', 유니코드, u8과 호환 => 형변환 가능
- let x:u8 = 100; print!("{}", x as char); => d
복합타입 (힙)
- 문자열 (문자타입의 집합 - 원시타입일수 없음)
&str
: "hello", 레퍼런스타입, 소유권이 없음String
:"hello".to_string()
,String::from("hello")
, 소유권있음
- 튜플 : ('a', "hello", 32)
- 배열 : [1, 2, 3, 4, 5] 배열의 내부는 같은 타입들로 구성
- 구조체
- 열거형
- 클래스