Rust에서 문자열을 STR로 변환

Muhammad Adil 2023년1월30일
  1. Rust의 문자열 개념
  2. Rust의 str 개념
  3. Rust에서 문자열을 str로 변환
  4. Rust에서 str과 문자열의 차이점
Rust에서 문자열을 STR로 변환

Rust는 강력하고 안전하도록 설계된 언어입니다. 또한 시스템 프로그래밍에서 스크립팅에 이르기까지 모든 작업의 ​​성능에 중점을 둡니다.

Rust의 String 유형은 변경할 수 없지만 String 유형에는 문자열을 만들고 조작하는 메서드가 있습니다. 이 기사에서는 String&static str에 대해 자세히 설명합니다.

Rust의 문자열 개념

String은 확장 가능한 8비트 부호 없는 배열인 Vec 벡터를 포함하는 구조체입니다.

String은 str과 달리 데이터의 소유권을 보유합니다. 따라서 String의 값을 변수에 할당할 때 & 또는 차용 상태를 활용하는 것이 필수적이지는 않습니다.

초기화하는 동안 String의 크기는 컴파일 타임에 알려지거나 알려지지 않을 수 있지만 길이가 한계에 도달할 때까지 확장될 수 있습니다.

통사론:

let my_string = String::from("Hello World");

Rust의 str 개념

Rust에서 str은 문자열 리터럴을 정의하는 기본 유형입니다. 그 정보는 프로그램 바이너리의 메모리 위치에 할당됩니다.

스트링 슬라이스

슬라이스는 항목 시퀀스를 포함하고 구문으로 표시되는 보기입니다. 슬라이스에는 소유권이 없지만 항목이 나타나는 순서를 참조할 수 있습니다.

결과적으로 문자열 슬라이스는 문자열의 요소 시퀀스에 대한 참조입니다.

let hello_string = String::from("hello world");

let hello_slice = &hello_string[4.8];

"hello world" 문자는 hello_string 변수에 저장됩니다. 확장 가능한 배열인 String에는 각 문자에 대한 위치 또는 인덱스가 포함되어 있습니다.

문자열 리터럴

문자열 리터럴은 텍스트를 큰따옴표로 묶어 구성됩니다. 문자열 리터럴은 약간 다릅니다.

읽기 전용 메모리에 실행 파일의 일부로 저장된 "사전 할당된 텍스트"를 참조하는 문자열 조각입니다. 즉, RAM은 소프트웨어와 함께 제공되며 스택 캐시에 의존하지 않습니다.

Rust에서 문자열을 str로 변환

문자열은 코드의 전체 수명 동안 존재하지 않을 수 있습니다. 이는 &'static str 수명이 의미하는 것이므로 &'static str을 얻을 수 없습니다. String의 수명으로 지정된 슬라이스만 얻을 수 있습니다.

예제 코드:

fn main() {
    let hello_string = String::from("Hello world");
    print_infi(&hello_string);
    print!("Adil {}", hello_string);
}
fn print_infi(infi: &str) {
    println!("Steve {} ", infi);
}

출력:

Steve Hello world
Adil Hello world

코드 실행

Rust에서 str과 문자열의 차이점

String Str
1. 변하기 쉬운 불변
2. 컴파일 시 크기를 알 수 없습니다. 컴파일 시 크기를 알 수 있습니다.
삼. 데이터는 힙에 저장됩니다. 데이터는 애플리케이션 바이너리의 메모리 위치에 저장됩니다.
4. 단일 str 변수를 할당하려면 사용하거나 참조하십시오. String 변수 값을 할당하기 위해 사용하거나 참조할 필요가 없습니다.
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

관련 문장 - Rust String