본문 바로가기

rust16

[RUST] TRPL : Chapter6 - Enum & Match Chapter 6열거형 enum열거형 값은 해당 변형 중 하나여야 한다. enum IpAddrKind { V4, V6, } let four = IpAddrKind::V4; let six = IpAddrKind::V6;같은 IpAddrKind 유형이기 때문에 매개변수로 모두 사용할 수 있다.열거형 변형에 모든 종류의 데이터를 넣을 수 있다. enum Message { Quit, // Move { x: i32, y: i32 }, //구조체 Write(String), //String ChangeColor(i32, i32, i32), //튜플 }Option ( 아직 어려운 개념 )값이 존재하는 경우와 값이 존재하지 않는 경우로 나타낸.. 2024. 11. 28.
[RUST] TRPL : Chapter5 - Method & Implement Chapter 5구조체→ 튜플보다 더 유연하고, 인스턴트의 값을 지정하거나 액세스하기 위해 데이터 순서에 의존할 필요가 없다.struct User { active: bool, username: String, email: String, sign_in_count: u64,}fn main() { let user1 = User { active: true, username: String::from("someusername123"), email: String::from("someone@example.com"), sign_in_count: 1, };}꿀팁이름이 같으면 아래와 같이 속기가 가능하다fn build_user(email: St.. 2024. 11. 27.
[RUST] &String vs &str String과 str의 차이String:힙(Heap)에 저장되는 가변적인 문자열 타입입니다.문자열 데이터를 동적으로 추가, 수정, 삭제할 수 있습니다.예: let s = String::from("hello");str:불변적인 문자열 슬라이스입니다.데이터는 보통 스택(Stack) 또는 힙에 저장되지만, 해당 데이터의 참조만 가지는 슬라이스 타입입니다.예: 문자열 리터럴("hello")은 &str 타입입니다.rust코드 복사let s: &str = "hello";2. &String vs &str&String:String 타입에 대한 불변 참조입니다.힙에 저장된 가변적인 문자열 데이터를 가리키며, 이 데이터를 수정할 수는 없습니다.예:rust코드 복사let s = String::from("hello"); le.. 2024. 11. 27.
[RUST] TRPL : Chapter 4 - Ownership 소유권규칙Rust의 각 값에는 소유자가 있다.한 번에 한 명의 소유자만 있을 수 있다.소유자가 범위를 벗어나면 가치가 떨어진다. → Rust는 중괄호로 범위가 정해져 있다.스택 : 후입 선출스택에 저장된 모든 데이터는 알려진 고정된 크기를 가져야 한다.크기를 알 수 없는 데이터나 크기가 변경될 수 있는 데이터는 대신 힙에 저장해야한다.copy 특성 구현 목록 trait ?힙 :힙에 데이터를 넣을 때 특정 양의 공간을 요청한다.메모리 할당자는 힙에서 충분히 큰 빈 공간을 찾아서 사용중이라고 표시하고, 해당 위치의 주소인 포인터를 반환한다. (힙 할당)힙에 대한 포인터는 고정 크기힙 vs 스택힙은 할당하는 것이므로, 단순 푸쉬인 스택보다 느리다.메모리기존의 GC 언어들은 자동으로 추적 및 정리함, GC가 .. 2024. 11. 27.