官术网_书友最值得收藏!

Strings

Strings are one of the most frequently used data types in any programming language. In Rust, they are usually found in two forms: the &str type (pronounced stir) and the String type. Rust strings are guaranteed to be valid UTF-8 encoded byte sequences. They are not null terminated as in C strings and can contain null bytes in-between them. The following program shows the two types in action:

// strings.rs

fn main() {
let question = "How are you ?"; // a &str type
let person: String = "Bob".to_string();
let
namaste = String::from("??????"); // unicodes yay!

println!("{}! {} {}", namaste, question, person);
}

In the preceding code, person and namaste are of type String, while question is of type &str. There are multiple ways you can create String types. Strings are allocated on the heap, while &str types are usually pointers to an existing string, which could either be on stack, the heap, or a string in the data segment of the compiled object code. The & is an operator that is used to create a pointer to any type. After initializing the strings in the preceding code, we then use the println! macro to print them together using format strings. That's the very basics of strings. Strings are covered in detail in Chapter 7,  Advanced Concepts.

主站蜘蛛池模板: 黄冈市| 小金县| 孟连| 峨边| 开原市| 曲麻莱县| 金塔县| 扎兰屯市| 依兰县| 横峰县| 涪陵区| 东海县| 垣曲县| 弥勒县| 高邮市| 山丹县| 两当县| 监利县| 齐河县| 手游| 察雅县| 广宁县| 姜堰市| 社旗县| 营口市| 威海市| 德州市| 肃宁县| 桐梓县| 烟台市| 顺义区| 林州市| 武宁县| 和平区| 安丘市| 犍为县| 定西市| 江都市| 永城市| 台东市| 泰州市|