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;
}