본문 바로가기
728x90

분류 전체보기250

Rust 설치부터 실행까지 (match, if let) - 14 오늘은 Rust의 match, if let에 대해 알아보고자 합니다.match 제어 흐름 구조rust는 match라고 불리는 매우 강력한 제어 흐름 연산자를 가지고 있는데, 일련의 패턴에 대해 어떤 값을 비교한 뒤 어떤 패턴에 매칭되었는지를 바탕으로 코드를 수행하도록 해줍니다. 패턴은 리터럴 값, 변수명, 와일드카드 등 다양한 것으로 구성될 수 있습니다. match의 힘은 패턴의 표현성으로부터 오며 컴파일러는 모두 가능한 경우가 처리되는지 검사합니다.enum Coin { Penny, Nickel, Dime, Quarter,}fn value_in_cents(coin: Coin) -> u8 { match coin { Coin::Penny => 1, Coin.. 2025. 1. 12.
Rust 설치부터 실행까지 (열거형, Option) - 13 오늘은 Rust의 열거형(enumerations)에 대해 알아보고자 합니다.열거형열거형은 하나의 타입이 가질 수 있는 베리언트(variant)들을 열거함으로써 타입을 정의할 수 있도록 합니다. IP 주소의 경우 v4나 v6 중 하나면 될 수 있는데, 이러한 특성은 열거형 자료 구조에 적합합니다. v4,v6는 근본적으로 IP 주소이기 때문에, 이 둘은 코드에서 모든 종류의 IP 주소에 적용되는 상황을 다룰 때 동일한 타입으로 처리되는 것이 좋습니다.enum IpAddrKind { V4, V6,}열거형 값위에 선언한 IpAddrKind의 두 개의 배리언트에 대한 인스턴스를 다음과 같이 만들 수 있습니다. let four = IpAddrKind::V4; let six = IpAddrKin.. 2025. 1. 12.
Rust 설치부터 실행까지 (메서드) - 12 오늘은 Rust의 메서드(method)에 대해 알아보고자 합니다.메서드 문법메서드(method)는 함수와 유사합니다. fn 키워드와 함수명으로 선언하고, 매개변수와 반환값을 가지며, 다른 어딘가로부터 호출될 때 실행되지만, 함수와 달리 구조체 컨텍스트에 정의되고, 첫 번째 매개변수가 항상 self라는 차이점이 있습니다.메서드 정의하기#[derive(Debug)]struct Rectangle { width: u32, height: u32,}impl Rectangle { fn area(&self) -> u32 { self.width * self.height }}fn main() { let rect1 = Rectangle { width: 30, .. 2025. 1. 9.
Rust 설치부터 실행까지 (구조체, 디버깅) - 11 오늘은 Rust의 구조체(struct)에 대해 알아보고자 합니다.구조체구조체는 여러 개의 연관된 값을 가질 수 있다는 측면에서 볼 때 튜플 타입절에서 살펴본 튜플과 비슷합니다.일반적인 C언어의 구조체를 생각하시면 편합니다.구조체의 구성 요소들은 각각 다른 타입이 될 수 있고, 각각의 구성 요소에 이름을 붙일 수 있어 각 요소가 더 명확한 의미를 가지게 되고, 특정 요소에 접근할 때 순서에 의존할 필요가 사라지게 되어, 튜플보다 유연하게 사용할 수 있습니다.구조체를 정의하려면 struct 키워드와 해당 구조체에 지어줄 이름을 입력합니다.구조체의 중괄호 안에서는 필드(field)라고 부르는 각 구성 요소의 이름 및 타입을 정의합니다.struct User { active: bool, username.. 2025. 1. 7.
728x90