rust16 [RUST] TRPL : Chapter 10 - Generic Types & Lifetime Chapter 10 - Generic Types & LifetimeGenericGeneric : 개념의 중복을 효과적으로 처리하기 위한 도구T를 활용하여 generic을진행한다.매개변수이름을 선언할 때 를 활용한다fn largest(list: &[T]) -> &T {Trait메서드 시그니처를 그룹화하여 일부 목적을 달성하는 데 필요한 동작 집합을 정의함.인터페이스와 비슷한 기능src/lib.rs에 정의하여 사용한다.사용방법사용하고 싶은 trait 이름을 impl 한다. 이후 for 을 통해 name type을 결정한다.이후 재정의한다.수명Lifetime을 주석으로 명시하여 dangling references 방지한다.' 를 사용하여 수명 매개변수를 정의한다.&i32 // a referenc.. 2024. 11. 29. [RUST] TRPL : Chapter9 - Error Handling Chapter 9 - Error Handling복구할 수 없는 오류 - panic!패닉이 발생하는 경우코드에 패닉을 유발하는 작업 수행panic! 매크로를 명시적으로 호출함Cargo.toml[profile.release]panic = 'abort'를 추가하여 설정할 수 있다.복구할 수 있는 오류 - ResultResult는 다음과 같은 열거형을 갖는다.enum Result { Ok(T), Err(E),}활용use std::fs::File;fn main() { let greeting_file_result = File::open("hello.txt"); let greeting_file = match greeting_file_result { Ok(file) => file, .. 2024. 11. 29. [RUST] TRPL : Chapter 8 - Collections Chapter 8 - CollectionsCollection의 데이터들은 힙에 저장된다.1. Vector→ 가변적인 개수의 값을 나란히 저장할 수 있다.Vec : 모든 값을 메모리에 나란히 배치하는 단일 데이터 구조에 여러 값을 저장할 수 있다.벡터는 제네릭을 사용하여 구현된다. let v: Vec = Vec::new();vec! 메크로를 활용하여 지정한 값을 보관하는 새 벡터를 생성할 수 있다.let v= vec![1, 2, 3];update → .push();get → &v[0] or .get(0).get() 메서드를 사용하면 벡터 사이즈보다 큰 값이 들어왔을 때 None을 반환한다.벡터의 메모리 let mut v = vec![1, 2, 3, 4, 5]; let first .. 2024. 11. 29. [RUST] TRPL : Chapter 7 - Project Chapter 7모듈 시스템패키지 : 상자를 만들고, 테스트하고, 공유할 수 있는 Cargo기능크레이트 : 라이브러리나 실행 파일을 생성하는 모듈 트리모듈 및 사용 : 경로의 구성, 범위 및 개인 정보 보호를 제어할 수 있다.경로 : 구조체, 함수 또는 모듈과 같은 항목의 이름을 지정하는 방법0. 크레이트Rust 컴파일러가 한 번에 고려하는 가장 작은 양의 코드.크레이트는 모듈을 포함할 수 있으며, 모듈은 크레이트와 함께 컴파일되는 다른 파일에 정의될 수 있다.바이너리 크레이트 : 명령줄 프로그램이나 서버와 같이 실행할 수 있는 실행 파일로 컴파일할 수 있는 프로그램. (main) src/main.rs라이브러리 크레이트 : 기능이 없고 main 실행 파일로 컴파일되지 않는다. 대신 여러 프로젝트에서 공유.. 2024. 11. 29. 이전 1 2 3 4 다음