본문 바로가기
728x90
반응형

Rust16

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.
Rust 설치부터 실행까지 (참조자) - 9 오늘은 Rust의 참조자(reference)에 대해 알아보고자 합니다.참조와 대여fn main() { let s1 = String::from("hello"); let (s2, len) = calculate_length(s1); println!("The length of '{}' is {}.", s2, len);}fn calculate_length(s: String) -> (String, usize) { let length = s.len(); // len()은 String의 길이를 반환합니다 (s, length)}이전 예제에서 String이 calculate_length로 이동되어서, calculate_length를 호출한 함수에서 String도 반환하여, 함수 호출 이후에도 S.. 2025. 1. 5.
728x90
반응형