[Rust] 9. 슬라이스
프로그래밍 언어/Rust2023. 2. 8. 23:45
슬라이스 (Slices)
문자열 또는 배열 등의 연속되는 일부분 범위(Range)를 참조하기 위해 사용한다.
&변수명[시작..끝] 구문으로 사용되고, 시작과 끝의 범위내에서 끝은 포함하지 않는다.
슬라이스는 참조(&)로 반환되므로 소유권을 갖지 않는다.
배열 슬라이스
fn main()
{
let arr: [i32; 5] = [1, 2, 3, 4, 5];
// 인덱스 0부터 3까지 슬라이스 한다 (end는 포함되지 않으므로 값은 3까지)
let arr_slice = &arr[0..3];
println!("{:?}", arr_slice);
}
// 결과값
[1, 2, 3]
문자열 슬라이스
fn main()
{
let s = String::from("Hello Rust");
let slice = &s[0..5]; // 인덱스 0 ~ 5
let slice2 = &s[6..10]; // 인덱스 6 ~ 10
let slice3 = &s[3..]; // 인덱스 3 ~ end
let slice4 = &s[..8]; // 인덱스 start ~ 8
let slice5 = &s[..s.len()]; // 인덱스 start ~ s 길이만큼
println!("{}", slice);
println!("{}", slice2);
println!("{}", slice3);
println!("{}", slice4);
println!("{}", slice5);
}
// 결과값
Hello
Rust
lo Rust
Hello Ru
Hello Rust
'프로그래밍 언어 > Rust' 카테고리의 다른 글
[Rust] 11. 열거형(enum) (0) | 2023.02.14 |
---|---|
[Rust] 10. 구조체(Struct) (0) | 2023.02.10 |
[Rust] 8. 참조자 (&) (0) | 2023.02.05 |
[Rust] 7. 소유권 그리고 스택과 힙 (1) | 2023.02.02 |
[Rust] 6. 제어문과 반복문 (if, loop, for, while) (0) | 2023.01.26 |