슬라이스

슬라이스가 보존하는 범위 의미

슬라이스는 컬렉션 일부를 소유하지 않고 바라보는 참조라서, 원본과 범위 정보가 함께 유지됩니다.

인덱스보다 안전한 이유 문자열의 위치만 숫자로 저장하면 원본이 바뀌어도 낡은 값이 남지만, 슬라이스는 원본 대여와 범위를 함께 묶습니다.

문자열 리터럴도 &str이므로 함수 매개변수를 &str로 받으면 String과 리터럴 모두를 자연스럽게 다룰 수 있습니다.

범위 참조

&s[0..5]처럼 시작과 끝을 가진 부분 뷰를 만듭니다.

소유 없음

슬라이스는 데이터를 복사하지 않고 원본을 빌려 읽습니다.

문자 경계

UTF-8 문자열은 바이트 인덱스가 문자 경계를 지켜야 합니다.

일반 슬라이스

문자열뿐 아니라 배열 일부도 같은 방식으로 빌릴 수 있습니다.

first_word 개선

&str 사용
1
탐색

공백 위치를 바이트 순회로 찾습니다.

2
반환

&str 슬라이스를 돌려주어 숫자 인덱스보다 관계를 분명히 합니다.

3
보호

슬라이스가 살아 있는 동안 원본 변경을 막아 의미 불일치를 줄입니다.

슬라이스는 부분 데이터를 다룰 때 소유권을 옮기지 않으면서도 원본과의 관계를 타입에 남깁니다.