일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 분산 신원
- RSA
- Tendermint
- MSA
- 기본문법
- rust 강좌
- 분산 식별자
- MSSQL
- Config server
- 애플 달팽이
- 텐더민트
- golang 강좌
- 가재
- 체리새우
- 물생활
- 주말농장
- for
- rust
- 반복문
- rust 소개
- Feign
- 구피
- 치비
- 조건문
- PKI
- did
- 무화과
- Python 강좌
- 카디날
- 쌈채소
- Today
- Total
목록Rust (21)
comnic's Dev&Life

8. 패턴 매칭(Match)과 매치 구조체(Match Struct) Rust에서 match 키워드를 사용한 패턴 매칭은 다양한 값에 대한 패턴을 정의하고, 해당 패턴에 맞게 코드를 실행할 수 있도록 해줍니다. 매치(match)는 다른 언어의 switch문과 유사하지만 훨씬 강력하며, 다양한 패턴을 사용할 수 있습니다. 8.1 match 키워드를 사용한 패턴 매칭 match 키워드를 사용하여 값을 여러 경우(case)와 비교합니다. 각 경우에 대해 실행될 코드 블록을 정의합니다. 모든 가능한 경우를 다루는 것이 권장되며, 이를 위해 _ (와일드카드)를 사용하여 나머지 경우를 처리할 수 있습니다. 예제: fn main() { let number = 5; match number { 1 => println!("..

7. 소유권과 대여 Rust의 핵심 개념 중 하나는 소유권(Ownership) 시스템입니다. 이는 메모리 안전성과 경합 상태를 방지하는 기술적인 도구로 사용됩니다. 7. 1 소유권 시스템 소개 Rust에서 모든 값은 변수에 소유권(ownership)을 가지고 있습니다. 한 번에 하나의 변수만이 해당 값의 소유권을 갖을 수 있습니다. 소유권은 변수가 스코프 밖으로 벗어날 때 해당 값이 메모리에서 해제되는 것을 의미합니다. 예제: fn main() { let s1 = String::from("Hello"); // s1이 String의 소유권을 가짐 let s2 = s1; // s2가 소유권을 가져감, s1은 더 이상 유효하지 않음 // println!("{}", s1); // 컴파일 에러! s1은 더 이상 ..

6. 구조체와 열거형 6.1 구조체(Struct)와 멤버 구조체(Struct)는 서로 다른 데이터 타입을 포함하는 사용자 정의 데이터 타입입니다. 구조체를 사용하여 여러 변수를 묶어서 하나의 논리적 단위로 표현할 수 있습니다. 각 변수는 멤버(member)라고 불리며, 멤버는 서로 다른 데이터 타입일 수 있습니다. // 구조체 정의 struct Point { var x: Int var y: Int } // 구조체 인스턴스 생성 var myPoint = Point(x: 10, y: 20) // 멤버에 접근 print("X 좌표: \(myPoint.x), Y 좌표: \(myPoint.y)") 위의 예제에서 Point는 x와 y라는 두 개의 멤버를 가진 구조체입니다. 구조체를 사용하여 myPoint 변수를 만..

5. 함수, 모듈, 패키지 5.1 함수(Functions)의 정의와 호출 함수는 Rust 프로그램을 구성하는 기본적인 블록으로, 특정 작업을 수행하는 코드의 묶음입니다. Rust에서 함수는 fn 키워드를 사용하여 정의됩니다. 함수를 정의하고 호출하는 방법은 다음과 같습니다: // 함수 정의 fn greet(name: &str) { println!("안녕하세요, {}!", name); } // 함수 호출 greet("Alice"); 위의 예제에서 greet 함수는 문자열을 인자로 받아 환영 메시지를 출력하는 역할을 합니다. Rust에서 함수는 fn 키워드로 정의되며, 파라미터와 반환값의 타입은 명시적으로 지정될 수 있습니다. 5.2 매개변수와 반환값 함수는 입력 값을 받는 매개변수(parameter)와 결..

Rust 프로그램을 Visual Studio Code에서 디버깅하는 방법에 대해 알아보겠습니다. 1. CodeLLDB 확장 프로그램 설치 먼저 VS Code의 extension을 설치해 줍니다. [CodeLLDB]를 검색해서 아래와 같이 설치해 줍니다. 2. 기본 소스 생성 설치가 완료되면 아래와 같이 간단한 소스 코드를 생성합니다. fn main() { let var1: u32 = 100; println!("Hello, world!"); println!("var1: {}", var1); } VS Code에서 왼쪽 라인 넘버 옆에 마우스를 가져가시면 브레이크 포인트(중단점)를 찍을 수 있습니다. 클릭하셔서 원하시는 위치에 찍어줍니다. 이렇게 준비가 되면, 이제 디버깅을 위한 설정을 해야 합니다. 3. l..
열거형(enumeration) Option과 Result 1. 열거형(enumeration) 열거형(Enumeration 또는 Enum)은 여러 값을 하나의 타입으로 묶어서 표현하는 Rust의 기능 중 하나입니다. 열거형은 다양한 형태의 데이터를 하나의 타입으로 표현할 수 있도록 도와주며, 패턴 매칭이나 다른 커스텀 타입 정의에 사용됩니다. 열거형의 기본 구조 열거형은 enum 키워드를 사용하여 정의됩니다. 가장 간단한 형태의 열거형은 다음과 같습니다: enum Direction { North, East, South, West, } 위의 예제에서 Direction은 North, East, South, West라는 네 개의 변형을 갖는 열거형입니다. 열거형의 값 사용하기 열거형 값은 해당 열거형의 이름과 ..

4. 제어 흐름 3.1 조건문 (if, else if, else) if문은 조건에 따라 코드 블록을 실행합니다. Rust에서는 if, else if, else를 사용하여 다양한 조건을 처리할 수 있습니다. let number = 42; if number > 0 { println!("양수입니다."); } else if number < 0 { println!("음수입니다."); } else { println!("0입니다."); } 3.2 반복문 (loop, while, for) 반복문은 코드 블록을 여러 번 실행하는 데 사용됩니다. Rust에는 loop, while, for 반복문이 있습니다. 3.2.1 loop loop는 무한 루프를 생성합니다. break 키워드를 사용하여 루프를 종료할 수 있습니다. l..

3. 기본 문법과 데이터 타입 3.1 변수와 상수 Rust에서 변수는 let 키워드를 사용하여 선언하며, 기본적으로 불변(immutable)입니다. 값을 변경하려면 mut 키워드를 사용하여 가변(mutable)으로 선언해야 합니다. // 불변 변수 let x = 5; // 가변 변수 let mut y = 10; y = y + 1; 상수는 const 키워드를 사용하여 선언하며, 타입 명시가 필요합니다. const MAX_POINTS: u32 = 100_000; 2.2 데이터 타입 Rust는 정적 타입 언어로, 변수나 표현식의 타입은 컴파일 시점에 결정됩니다. 기본 데이터 타입은 다음과 같습니다. 정수형(Integers): let a: i32 = 42; // 32-bit 부호 있는 정수 let b: u64 ..