String Slice

String과 &str 슬라이스 관계도

String은 소유한 버퍼이고, &str은 그 문자열의 일부나 리터럴을 빌려 보는 뷰다.

문자열 데이터를 빌려 보는 방식

borrowed view

String

힙에 저장된 가변 문자열 버퍼를 소유한다.

슬라이스 범위

&s[start..end]는 버퍼 일부를 참조한다.

리터럴

문자열 리터럴은 프로그램에 포함된 &str로 볼 수 있다.

UTF-8 경계

문자 중간 바이트를 자르면 런타임 오류가 날 수 있다.

String bufferrange&strread only함수 인자
읽는 법

함수 인자는 String보다 &str을 받으면 더 유연하다. 소유가 필요한지 읽기만 하면 되는지 먼저 구분한다.