Rust 트레이트 (Trait) 에서의 생명주기 (Lifetime) 주석

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 함수와 유사하게 트레이트 메서드에서 생명주기 (lifetime) 주석을 탐구합니다. 이는 impl 블록에서도 생명주기를 주석 처리하는 것을 포함합니다. 제공된 코드는 Borrowed 구조체가 생명주기 주석을 가지고, 주석 처리된 생명주기를 사용하여 Default 트레이트가 구현되는 예제를 보여줍니다. 메인 함수는 Default::default() 메서드를 사용하여 Borrowed의 인스턴스를 생성하여 트레이트 메서드에서 생명주기의 사용법을 보여줍니다.

참고: 랩에서 파일 이름을 지정하지 않은 경우, 원하는 파일 이름을 사용할 수 있습니다. 예를 들어, main.rs를 사용하고, rustc main.rs && ./main으로 컴파일하고 실행할 수 있습니다.

트레이트 (Traits)

트레이트 메서드에서 생명주기 (lifetime) 주석은 기본적으로 함수와 유사합니다. impl 역시 생명주기 주석을 가질 수 있다는 점에 유의하십시오.

// 생명주기 주석이 있는 구조체입니다.
#[derive(Debug)]
struct Borrowed<'a> {
    x: &'a i32,
}

// impl 에 생명주기를 주석 처리합니다.
impl<'a> Default for Borrowed<'a> {
    fn default() -> Self {
        Self {
            x: &10,
        }
    }
}

fn main() {
    let b: Borrowed = Default::default();
    println!("b is {:?}", b);
}

요약

축하합니다! 트레이트 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.