Rust 字串
Rust 的字串有以下兩種:
- String 類別是以 UTF8 編碼、可伸縮的字串
- str 是基礎型別,通常是使用 &str,即指向 str 的參考
另外,Rust 還有字元 (char) 型別,同樣也是以 UTF8 編碼。
建立字串常數時,預設型別是 &str,即指向 str 的參考,但是,若想要使用 String 類別的方法時,可以轉為 String 物件。
對字串進行索引
由於 Rust 字串為 UTF8 字串,其內部長度和字元數不同,不能直接對其進行索引。以下的範例是錯誤的:
本例引發以下錯誤訊息:
如果想要得到單一的字元,需用 chars
方法,會得到走訪字元的迭代器。
字串相接
字串間可以用 +
相接,相接的方式是以 String 物件接 &str
,如下:
如果要將兩個 String 物件相接,則要將 String 物件取參考,轉為 &str
,如下:
格式化字串
Rust 提供數個格式化字串的巨集,包括:
format!
:將格式化字串轉為 String 物件println!
:將格式化字串印到終端機,附帶換行字元print!
:將格式化字串印到終端機,但不附加換行字元writeln!
:將格式化字串寫入特定的 buffer 物件,附帶換行字元write!
:將格式化字串寫入特定的 buffer 物件,但不附帶換行字元
以下實例將錯誤訊息輸出到標準錯誤 (standard error):
以下實例輸出不同的格式化字串: