String은 소유한 버퍼이고 &str은 문자열을 빌려 보는 뷰다
문자열 API에서 String과 &str을 구분하면 소유권 이동과 불필요한 복제를 줄일 수 있다.
길이 변경 가능
소유하지 않음
프로그램에 포함
| 구분 | 의미 | 판단 |
|---|---|---|
| 소유 필요 | String | 저장·수정 |
| 읽기만 필요 | &str | 함수 인자에 유리 |
| 부분 문자열 | &s[0..n] | UTF-8 경계 주의 |
핵심 &str은 가벼운 문자열 타입이 아니라 어떤 문자열 데이터의 범위를 빌려 보는 참조다.
문자열 API에서 String과 &str을 구분하면 소유권 이동과 불필요한 복제를 줄일 수 있다.
길이 변경 가능
소유하지 않음
프로그램에 포함
| 구분 | 의미 | 판단 |
|---|---|---|
| 소유 필요 | String | 저장·수정 |
| 읽기만 필요 | &str | 함수 인자에 유리 |
| 부분 문자열 | &s[0..n] | UTF-8 경계 주의 |
핵심 &str은 가벼운 문자열 타입이 아니라 어떤 문자열 데이터의 범위를 빌려 보는 참조다.