Index

Index (불변 인덱싱 트레이트)

불변 컨텍스트에서의 인덱싱 연산(container[index])에 사용되는 트레이트예요.

출처: Rust 공식 문서

본문

container[index]는 실제로 *container.index(index)의 문법적 설탕이에요. 단, 불변 값으로 사용될 때만 그렇죠. 가변 값이 요청되면 대신 IndexMut가 사용돼요. 이는 let value = v[index] 같은 좋은 기능을 가능하게 해요.

pub trait Index<Idx>
where
    Idx: ?Sized,
{
    type Output: ?Sized;

    // 필수 메서드
    fn index(&self, index: Idx) -> &Self::Output;
}

더 알아보기 (Learn more)

Rust 공식 문서