Conversion de String en STR dans Rust

Muhammad Adil 30 janvier 2023
  1. Concept de chaîne en rouille
  2. Notion de str en Rust
  3. Conversion de String en str dans Rust
  4. Différence entre str et String dans Rust
Conversion de String en STR dans Rust

Rust est un langage qui a été conçu pour être robuste et sûr. Il se concentre également sur les performances pour tout, de la programmation système aux scripts.

Le type String dans Rust n’est pas immuable, mais le type String possède des méthodes pour créer et manipuler des chaînes. Cet article traitera en détail de String et de &static str.

Concept de chaîne en rouille

Une chaîne est une structure contenant un vecteur Vec, un tableau non signé de 8 bits qui peut s’étendre.

Une chaîne, contrairement à str, détient la propriété des données. Par conséquent, il n’est pas essentiel d’utiliser & ou emprunter l’état lors de l’attribution d’une valeur de chaîne à une variable.

Lors de l’initiation, la taille d’une chaîne peut être connue ou inconnue au moment de la compilation, mais elle peut s’étendre jusqu’à ce que sa longueur atteigne sa limite.

Syntaxe:

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

Notion de str en Rust

Dans Rust, str est un type primitif qui définit un littéral de chaîne. Ses informations sont affectées dans l’emplacement mémoire du binaire du programme.

Tranche de ficelle

Une tranche est une vue qui contient une séquence d’éléments et est indiquée par la syntaxe. Les tranches n’ont pas de propriété, mais elles vous permettent de vous référer à l’ordre dans lequel les éléments apparaissent.

Par conséquent, une tranche de chaîne est une référence à la séquence d’éléments d’une chaîne.

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

let hello_slice = &hello_string[4.8];

Les lettres "hello world" sont stockées dans la variable hello_string. La chaîne, un tableau évolutif, contient un emplacement ou un index pour chaque caractère.

Littéraux de chaîne

Un littéral de chaîne est construit en plaçant le texte entre guillemets doubles. Les littéraux de chaîne sont un peu différents.

Ce sont des tranches de chaîne qui font référence au "texte pré-alloué" stocké dans le cadre de l’exécutable en mémoire morte. En d’autres termes, la RAM est fournie avec notre logiciel et ne repose pas sur les caches de pile.

Conversion de String en str dans Rust

Les chaînes peuvent ne pas exister pendant toute la durée de vie de votre code, ce que signifie la durée de vie de &'static str, par conséquent, vous ne pouvez pas en obtenir &'static str. Seule une tranche spécifiée par la durée de vie de String peut en être obtenue.

Exemple de code :

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);
}

Production:

Steve Hello world
Adil Hello world

Exécuter le code

Différence entre str et String dans Rust

String Str
1. Mutable Immuable
2. Au moment de la compilation, la taille est inconnue. Au moment de la compilation, la taille est connue.
3. Les données sont stockées dans un tas. Les données sont stockées dans l’emplacement mémoire du fichier binaire de l’application.
4. Pour allouer une seule variable str, employez ou référencez. Pour allouer une valeur de variable String, vous n’avez pas besoin d’employer ou de référence.
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

Article connexe - Rust String