반응형
1. 스레드 (Threads)Rust에서 동시성을 처리하는 방법으로는 여러가지 방법이 있습니다. Rust의 동시성 모델은 안전성과 성능을 강조해, 주로 스레드와 비동기 프로그래밍을 통해 구현됩니다. 먼저 스레드는 표준 라이브러리에서 쉽게 생성할 수 있습니다. std:thread 모듈을 사용하여 스레드를 생성하고 관리합니다.use std::thread;fn main() { let handle = thread::spawn(|| { for i in 1..5 { println!("Threads: {}", i); } }); for i in 1..3 { println!("Main Threads: {}", i); } handle.jo..
1. 제네릭 (Generics)Rust에서 Generics(제네릭)은 데이터 타입에 대한 추상화를 제공해 코드의 재사용성을 높이고, 타입 안정성을 유지하는 데 도움을 주며, 제네릭을 사용해 특정 타입에 의존하지 않고 함수, 구조체, 열거형 등을 정의할 수 있습니다.2. 기본 문법제네릭은 와 같은 형식으로 사용합니다. T 부분에는 타입 매개변수를 나타냅니다.함수에서 제네릭fn print_value(value: T) { println!("{:?}", value);}fn main() { print_value(10); // 정수 print_value(10.0); // 실수 print_value("Hello, World!"); // 문자열 print_value(true); // 불리언}..
1. 모듈 Rust의 모듈은 코드의 구조화와 재사용성을 높이는 데 중요한 역할을 하며, 모듈은 관련된 기능을 그룹화하여 코드의 가독성과 유지보수성을 향상시킵니다. Rust 모듈 시스템의 주요 개념은 다음과 같습니다.pub fn my_function() { println!("Hello from my_module");} Rust의 모듈은 mod 키워드를 사용하여 정의하고, 모듈은 파일 내에서 정의할 수 있고, 별도의 파일로 분리할 수 있습니다. 기본적으로 모듈의 항목은 비공개며, pub 키워드를 사용해 공개할 수 있습니다. 공개된 항목은 모듈 외부에서 접근할 수 있습니다. 2. 모듈 불러오기모듈에 접근할 때는 경로를 사용합니다. 예를 들어, 위 예제에서 my_function을 호출하려면 다음과 같이 입..
1. Result 타입Result 타입은 성공과 실패를 표현하는 열거형(Enum)으로, 두 가지 변형이 있습니다.Ok(T): 성공적인 결과를 포함Err(E): 에러를 포함fn divide(a: f64, b: f64) -> Result { if b == 0.0 { Err(String::from("0으로 나눌 수 없음")) } else { Ok(a/b) }}fn main () { match divide(10.0, 2.0) { Ok(result) => println!("Result: {}", result), Err(e) => println!("Error: {}", e) } match divide(10.0, 0.0) { Ok(result) =>..
1. match 구문match 구문은 값에 대한 여러 패턴을 검사하고, 일치하는 패턴에 따라 실행하는 코드를 결정합니다.fn main() { let number = 2; match number { 1 => println!("One!"), 2 => println!("Two!"), 3 => println!("Three!"), 4 => println!("Four!"), 5 => println!("Five!"), 6..=10 => println!("Between Seven and ten"), _ => println!("Something else"), // Default Pattern }}2. 구조체와 ..
1.기본 데이터 타입스칼라 타입:정수형(Integer)i8, i16, i32, i64, i128, isize: 부호 있는 정수 (8,16,32,64,128byte, 포인터 크기)u8, u16, u32, u64, u128, usize: 부호 없는 정수부동소수점형 (Floating-point)f32: 32비트 부동소수점f64: 64비트 부동소수점 (기본값)불리언(Boolean)bool: true 또는 false 값을 가질 수 없음문자형(Character) char: Unicode 스칼라 값 (4byte)튜플(Tuple)여러 값을 묶어 하나의 복합 데이터 타입으로 만드는 방법2. 기본 출력문자열 및 숫자 출력println! 매크로를 사용하여 문자열을 출력합니다.fn main() { let name = "..