c++又很多庫,特別是關於工程計算方面的,但是c++用起來太難了,特別是內存管理,很難預測它什麼時候崩潰,什麼時候內存爆滿,內存釋放問題很讓人頭疼。
Rust語言試圖解決c++的這個內存管理的弊端,但是處於對效率及底層處理的要求,放棄了c#和java甚至go那樣基於垃圾回收器的處理方式,而是採用了全新的一套處理方式,很有意思。這是個兼顧效率和安全的編程語言,不經可以用在系統編程,也可以用來web編程,很有發展前景。
下面這個教程中的例子,是個猜字遊戲,展示了rust語言的一些主要特性。
use std::io;
use std::cmp::Ordering;
use rand::Rng;
fn main() {
println!("Hello, world!");
let secret_number = rand::thread_rng().gen_range(1,101);
println!("The sceret number is :{}", secret_number);
loop{
println!("Please input your guess:");
let mut guess: String = String::new();
io::stdin().read_line(&mut guess).expect("Failed to read line");
let guess:u32 = guess.trim().parse().expect("Please type a number");
println!("You guessed: {}", guess);
match guess.cmp(&secret_number) {
Ordering::Less=>println!("Too samll!"),
Ordering::Greater=>println!("Too big!"),
Ordering::Equal=>{
println!("You win!");
break;
},
}
}
}
下面是運行結果
Hello, world!
The sceret number is :99
Please input your guess:
8
You guessed: 8
Too samll
Please input your guess:
45
You guessed: 45
Too samll
Please input your guess:
99
You guessed: 99
You win
這個例子介紹了 Rust 新概念:let
、match
、方法、關聯函數、使用外部 crate ,循環,異常處理,等等