Borrow — 소유한 값을 빌린 값으로 변환하는 트레이트
Borrow — 소유한 값을 빌린 값으로 변환하는 트레이트
Borrow<Borrowed>는 소유한 값에서 그 슬라이스·참조 형태의 빌린 값을 얻는 트레이트예요.
출처: Rust 공식 문서
본문
pub trait Borrow<Borrowed>
where Borrowed: ?Sized,
{
// Required method
fn borrow(&self) -> &Borrowed;
}
예를 들어 String은 Borrow<str>을 구현해서 borrow()로 &str을 얻을 수 있어요. HashMap의 get 같은 메서드가 Borrow<Q>를 요구해서, &String 대신 &str로도 검색할 수 있게 해줘요. Borrow는 반환되는 값의 Eq, Ord, Hash가 원본과 같은 결과를 내야 한다는 계약을 가져요.