Open In App
Related Articles

Rust – Strings

Improve Article
Improve
Save Article
Save
Like Article
Like

String data type makes a very important part of any programming language. Rust handles strings a bit differently from other languages.  

The String data type in Rust is of two types:

  • String Literal (&str)
  • String Object (String)

String Literal:

String Literal or &str are called ‘string slices’, which always point to a legitimate UTF-8 sequence. It is used when we know the value of a string at compile time. They are a set of characters and static by default.

Example 1: Declaring string literals.

Rust




fn main() {
   let website:&str="geeksforgeeks.org";
   let language:&str = "RUST";
   println!("Website is {}",website);
   println!("Language is {}",language);
}

Output:

Website is geeksforgeeks.org
Language is RUST

String Object:

The String Object is provided by the Standard Library in Rust. It is not a part of the core language and String is heap-allocated, growable, and not null-terminated. They are commonly created by converting them from a string slice by using the to_string() method.

Example 2: Declaring String Object and converting String Literal to String Object

Rust




fn main() {
    
  // Declaring String Object using from() method  
  let str1 = String::from("Rust Articles");  
  println!("{}",str1); 
    
  // Converting String Literal to String Object
  let str2 = "GeeksforGeeks".to_string();
  println!("{}",str2);
}

Output:

Rust Articles
GeeksforGeeks

Example 3: Creating an empty string and then set its value.

Rust




fn main() {
   let mut str1 = String::new();
   str1.push_str("GeeksForGeeks");
   println!("{}",z);
}

Output:

GeeksForGeeks

Rust allows many methods to be used with Strings just as JAVA does. Also, it supports many methods such as indexing, concatenation, and slicing.


Last Updated : 01 Jun, 2021
Like Article
Save Article
Similar Reads
Related Tutorials