기술나눔

[러스트] String String 형 학습

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

문자열이란 무엇입니까?

  • Rust의 핵심 언어에는 단 하나의 String 유형이 있는데, 그것은 String 슬라이스입니다.str일반적으로 다음과 같이 간주됩니다.&str빌린.
  • String 유형은 핵심 언어로 직접 인코딩되지 않고 표준 라이브러리를 통해 제공되며 확장 가능하고 변경 가능한 UTF-8 인코딩 유형입니다.
  • str그리고String모두 utf-8로 인코딩되어 있습니다.

새 문자열 만들기

  • 문자열은 실제로 바이트 유형의 벡터를 래핑하여 구현됩니다.
  • 새로운 방법을 사용하여 문자열을 만듭니다.let mut s = String::new()
  • to_string 메소드를 사용하여 문자열을 작성하십시오.
    let data = "initial contents";
    let s = data.to_string();
    let s = "initial contents".to_string();
    
    • 1
    • 2
    • 3
  • String::from 메소드를 사용하여 문자열을 생성합니다.let s = String::from("initial contents").

업데이트문자열

push_str 및 push를 사용하여 문자열 추가

let mut s = String::from("foo");
s.push_str("bar");
// s is foobar
  • 1
  • 2
  • 3

push_str메서드는 문자열의 소유권을 변경하지 않습니다.

let mut s = String::from("lo");
s.push('l');
// s is lol
  • 1
  • 2
  • 3

문자열을 연결하려면 + 연산자나 format! 매크로를 사용하세요.

let s1 = String::from("Hello, ");
let s2 = String::from("world!");
let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used
  • 1
  • 2
  • 3
let s1 = String::from("tic");
let s2 = String::from("tac");
let s3 = String::from("toe");

let s = format!("{s1}-{s2}-{s3}");
  • 1
  • 2
  • 3
  • 4
  • 5

Rust는 첨자가 문자열 내의 개별 문자에 액세스하는 것을 허용하지 않습니다.

문자열을 반복하는 방법

  • 개별 UniCode 문자는 chars 메소드를 사용하여 액세스할 수 있습니다. 각 바이트에 접근하려면 bytes 메소드를 사용하세요.
for c in "Зд".chars() {
    println!("{c}");
}
  • 1
  • 2
  • 3