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

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.

主站蜘蛛池模板: 会昌县| 陇西县| 泉州市| 韶关市| 惠水县| 江永县| 新田县| 郁南县| 舞阳县| 慈溪市| 鲜城| 马山县| 读书| 九寨沟县| 东平县| 新兴县| 三河市| 华坪县| 科技| 克山县| 都江堰市| 平乡县| 禹州市| 奉化市| 通江县| 阜阳市| 奇台县| 蒙山县| 宜兰县| 东山县| 延川县| 乐清市| 营口市| 景宁| 湖州市| 崇礼县| 五大连池市| 肃宁县| 阿巴嘎旗| 昭觉县| 普安县|