Strings

āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āϗ⧁āϞāĻŋāϕ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϰāĻžāĻ¸ā§āϟ āĻ āĻĻ⧁āϟāĻŋ āωāĻĒāĻžā§Ÿā§‡ āφāϛ⧇, āωāĻ­āϝāĻŧāχ āĻĒāϰāĻŦāĻ°ā§āϤ⧀āϤ⧇ āφāϰāĻ“ āĻ—āĻ­ā§€āϰāϤāĻžāϝāĻŧ āĻ•āĻ­āĻžāϰ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āωāĻ­āϝāĻŧāχ āϏāĻŦāϏāĻŽā§Ÿā§‡ āχāω.āϟāĻŋ.āĻāĻĢ-ā§Ž āĻāύāϕ⧋āĻĄ āĻ•āϰ⧇ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āĨ¤

  • String - āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϝ⧋āĻ—ā§āϝ, āĻŽāĻžāϞāĻŋāĻ•āĻžāύāĻžāϧ⧀āύ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āĨ¤
  • &str - āĻāĻ•āϟāĻŋ āĻĒāĻ āύāϝ⧋āĻ—ā§āϝ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āĨ¤ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āϞāĻŋāϟāĻžāϰ⧇āϞ⧇ āĻāχ āϧāϰāύ āφāϛ⧇āĨ¤
fn main() {
    let greeting: &str = "Greetings";
    let planet: &str = "đŸĒ";
    let mut sentence = String::new();
    sentence.push_str(greeting);
    sentence.push_str(", ");
    sentence.push_str(planet);
    println!("final sentence: {}", sentence);
    println!("{:?}", &sentence[0..5]);
    //println!("{:?}", &sentence[12..13]);
}
This slide should take about 5 minutes.

āĻāχ āĻ¸ā§āϞāĻžāχāĻĄ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻ•āĻŋ āϜāĻŋāύāĻŋāϏ āĻāϟāĻž āĻĻ⧇āĻ–āĻžā§ŸāĨ¤ āĻāĻ–āĻžāύ⧇ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻĒāϰ⧇ āφāϰāĻ“ āĻ—āĻ­ā§€āϰāϤāĻžāϝāĻŧ āĻ•āĻ­āĻžāϰ āĻ•āϰāĻž āĻšāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ,āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ¸ā§āϞāĻžāχāĻĄā§‡āϰ āϜāĻ¨ā§āϝ⧇ āĻāĻŦāĻ‚ āĻ…āύ⧁āĻļā§€āϞāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāϟāĻŋ āϝāĻĨ⧇āĻˇā§āϟāĨ¤

  • UB āĻāĻ•āϟāĻŋ āχāω.āϟāĻŋ.āĻāĻĢ-ā§Ž āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚-āĻ āĻĨāĻžāĻ•āĻž āϭ⧁āϞ āĻāĻŦāĻ‚ āϏ⧇āχ āϜāĻ¨ā§āϝ⧇ āĻāϟāĻŋ āύāĻŋāϰāĻžāĻĒāĻĻ āϰāĻžāĻ¸ā§āϟ āĻāϰ āϭ⧇āϤāϰ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§Ÿ āύāĻžāĨ¤

  • String āĻšāĻšā§āϛ⧇ āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰ (::new()) āϏāĻš āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻĒā§āϰāĻ•āĻžāϰ āĻāĻŦāĻ‚ āĻāϤ⧇ s.push_str(..) -āϰ āĻŽāϤāύ āĻŽā§‡āĻĨāĻĄ āĻ“ āĻ°ā§Ÿā§‡āϛ⧇āĨ¤

  • &str āĻāϟāĻž āϝ⧇ āĻāĻ•āϟāĻž āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āϏ⧇āϟāĻž āĻāϟāĻžāϤ⧇ āĻĨāĻžāĻ•āĻž & āĻĻāĻŋā§Ÿā§‡ āĻŦā§‹āĻāĻž āϝāĻžāĻšā§āϛ⧇āĨ¤ āφāĻŽāϰāĻž āĻĒāϰ⧇ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻĻ⧇āĻ–āĻŦā§‹ , āϤāĻžāχ āφāĻĒāĻžāϤāϤ āĻļ⧁āϧ⧁ &str āϕ⧇ āĻāĻ•āϟāĻŋ āχāωāύāĻŋāϟ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ­āĻžāĻŦ⧁āύ āϝāĻžāϰ āĻ…āĻ°ā§āĻĨ “āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āϝāĻž āĻļ⧁āϧ⧁ āĻĒāĻ āύāϝ⧋āĻ—ā§āϝ “āĨ¤

  • āĻ•āĻŽā§‡āĻ¨ā§āϟ āĻ•āϰāĻž āϞāĻžāχāύ āĻŦāĻžāχāϟ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āĻĻā§āĻŦāĻžāϰāĻž āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻŽāĻ§ā§āϝ⧇ āχāύāĻĄā§‡āĻ•ā§āϏ āĻ•āϰāϛ⧇āĨ¤ 12..13 āϏ⧀āĻŽāĻžāύāĻžāϝāĻŧ āĻĒā§œā§‡ āύāĻž, āϤāĻžāχ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ āφāϤāĻ™ā§āĻ•āĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇āĨ¤ āĻ¤ā§āϰ⧁āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻžāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻāϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āϏāĻ āĻŋāĻ• āϏ⧀āĻŽāĻžāύāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āύāĻŋā§Ÿā§‡ āφāϏ⧁āύāĨ¤

  • Raw strings allow you to create a &str value with escapes disabled: r"\n" == "\\n". You can embed double-quotes by using an equal amount of # on either side of the quotes:

    fn main() {
        println!(r#"<a href="link.html">link</a>"#);
        println!("<a href=\"link.html\">link</a>");
    }
  • {:?} āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āωāĻĻā§āĻĻ⧇āĻļā§āϝ⧇ āĻŽāĻžāύāϗ⧁āϞāĻŋāϰ āĻ…ā§āϝāĻžāϰ⧇/āϭ⧇āĻ•ā§āϟāϰ/āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϟ āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ• āωāĻĒāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻ…āύ⧇āĻ• āϕ⧋āĻĄā§‡ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤