String str

String은 소유한 버퍼이고 &str은 문자열을 빌려 보는 뷰다

문자열 API에서 String과 &str을 구분하면 소유권 이동과 불필요한 복제를 줄일 수 있다.

Stringheap 버퍼 소유

길이 변경 가능

&str문자열 slice 참조

소유하지 않음

literal&'static str

프로그램에 포함

구분의미판단
소유 필요String저장·수정
읽기만 필요&str함수 인자에 유리
부분 문자열&s[0..n]UTF-8 경계 주의

핵심 &str은 가벼운 문자열 타입이 아니라 어떤 문자열 데이터의 범위를 빌려 보는 참조다.