- Learning Rust
- Paul Johnson Vesa Kaihlavirta
- 189字
- 2021-07-02 23:07:16
Back to Strings
As we saw before perting onto the heap and stack, we can also define a string like this:
let mut myString = String::new();
The String:: tells the compiler that we are going to use the standard library, String, and we tell the program that we are going to create a mutable String and store a reference to it on the stack in something called myString.
The dynamic string can be created as either being empty, or with memory preallocated to it. For example, say we want to store the words You'll never walk alone (a total of 23 bytes), preallocating the space for them. This is how to do it:
let mut ynwa = String::with_capacity(23); ynwa.push_str("You'll never walk alone");
This is just a performance optimization and is not typically required, since Strings grow automatically when they need to. The following does roughly the same job:
let mut ynwa = "You'll never walk alone".to_owned();
Rust strings are not null-terminated, and consist entirely of valid Unicode. Therefore, they can contain null bytes and characters from any language, but they may require more bytes than they contain characters.
- 極簡算法史:從數學到機器的故事
- Python從菜鳥到高手(第2版)
- BeagleBone Media Center
- Python 3破冰人工智能:從入門到實戰
- AppInventor實踐教程:Android智能應用開發前傳
- OpenStack Orchestration
- Python機器學習算法: 原理、實現與案例
- Mastering Xamarin.Forms(Second Edition)
- The Professional ScrumMaster’s Handbook
- Scratch3.0趣味編程動手玩:比賽訓練營
- 軟件測試教程
- Kivy Cookbook
- JSP程序設計實例教程(第2版)
- Windows Phone 8 Game Development
- Mastering OAuth 2.0