Partage de technologie

[Rust] Apprentissage du type String

2024-07-12

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

Qu'est-ce que la chaîne

  • Il n'y a qu'un seul type String dans le langage principal de Rust, et c'est String slice.strgénéralement considéré comme&stremprunté.
  • Le type String est fourni via la bibliothèque standard plutôt que directement codé dans le langage principal. Il s'agit d'un type codé UTF-8 évolutif et mutable.
  • stretStringTous sont codés en utf-8.

Créer une nouvelle chaîne

  • La chaîne est en fait implémentée en encapsulant un vecteur de type octets.
  • Créez une chaîne en utilisant la nouvelle méthode :let mut s = String::new()
  • Créez une chaîne à l'aide de la méthode to_string :
    let data = "initial contents";
    let s = data.to_string();
    let s = "initial contents".to_string();
    
    • 1
    • 2
    • 3
  • Créez une chaîne à l'aide de la méthode String::from,let s = String::from("initial contents").

Chaîne de mise à jour

Ajouter une chaîne en utilisant push_str et push

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

push_strLa méthode ne change pas la propriété de la chaîne

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

Utilisez l'opérateur + ou la macro 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 ne permet pas aux indices d'accéder aux caractères individuels d'une chaîne

Comment parcourir une chaîne

  • Les caractères UniCode individuels sont accessibles à l'aide de la méthode chars. Utilisez la méthode bytes pour accéder à chaque octet.
for c in "Зд".chars() {
    println!("{c}");
}
  • 1
  • 2
  • 3