Rust语言入门练习1
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 ,循环,异常处理,等等