Rust 和 C 一樣,都是編譯型語言,透過編譯會得到一個單一執行檔,可以方便的發佈給其他人。不像 script language,對方要執行時,需要有相關的安裝環境﹝理論上的,因為有些語言有第三方工具可以 build executable binary ﹞。
Rust 目前已知特點
01. cargo new "helloworld",可以自動建立一個 "helloworld" 的專案,"helloworld" 資料夾裡面會有 git 結構、Cargo.toml 的專案描述檔以及一個建立好的 "src\main.rs" 程式碼檔案,副檔名 "rs" 表示這是一個 Rust 的原始碼檔案。
02. 同 Go 一樣,cargo run 可以直接執行,cargo build 則是編譯 binary。
03. Rust 使用 let 宣告變數,變數預設是 immutable,加上 mut﹝mutable﹞表示變數可以被改值。
04. Rust 使用 use 宣告來存取內建函數。
05. "println!" 是一個 macro 而不是函數。
06. String 是 UTF-8 的編碼。
07. & 表示傳進函數的是一個參考﹝reference﹞,也可以加上 mut 關鍵字。
08. 在 println 中,"{}" 表示一個佔位符,有幾個後面就要有幾個對應的變數。
09. read_line 會包含換行字元,因為我們是 String,可以用 num.trim( ) 來去除。
10. Rust 變數命名慣例是小寫駝峰式,例如:s_len。
use std::io;
fn main() {
println!("Guess the number");
println!("Please input your guess");
let mut num = String::new();
io::stdin().read_line(&mut num)
.expect("Failed to read line");
println!("Your guess: {}", num);
let s_len = num.len();
let bytes = num.into_bytes();
println!("lenth = {}, bytes = {:?}", s_len, bytes);
}
C:\helloworld>cargo run
Guess the number
Please input your guess:
123
Your guess: 123
lenth = 5, bytes = [49, 50, 51, 13, 10]
C:\helloworld>
沒有留言:
張貼留言