본문 바로가기
728x90

rust18

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.
Rust 설치부터 실행까지 (슬라이스) - 10 오늘은 Rust의 슬라이스(slice)에 대해 알아보고자 합니다.슬라이스슬라이스(slice)는 컬렉션(collection)을 통째로 참조하는 것이 아닌, 컬렉션의 연속된 일련의 요소를 참조하도록 해줍니다. 슬라이스는 참조자의 일종으로서 소요권을 갖지 않습니다. 만약 단어의 공백 부분의 index를 출력하는 함수를 작성하게 된다면 다음과 같이 작성이 가능합니다.fn first_word(s: &String) -> usize { let bytes = s.as_bytes(); for (i, &item) in bytes.iter().enumerate() { if item == b' ' { return i; } } s.len()}String을 하나하.. 2025. 1. 6.
728x90