We've seen that we can create a String from a string slice (using to_owned() or the format! macro), or we can create it using String::new().
There are two further ways to help build the string: push adds a single character to the string, and push_str adds an str to the string.
The following shows this in action:
fn main() { let home_team = "Liverpool"; let result = " beat "; let away_team = "Manchester United"; let home_score = '3'; // single character let away_score = "-0"; let mut full_line = format!("{}{}{} ", home_team, result, away_team); // add the character to the end of the String full_line.push(home_score); // add the away score to the end of the String full_line.push_str(away_score); println!("{}", full_line); }
When this last code snippet is compiled and executed, you will see this: