我的第一个rust程序,感受一下

周末了,要学习一点让自己开心的东西。

听说rust语言很年轻,性能超过了C++,还能支持嵌入式编程,作为一名未来要出名的代码工程师,岂能错过?于是上周开始学习这个语言。

跟着书本编写完成了第一个小程序,guess_number,(什么?竟然不是“hello world”??)因为随便生成一个程序,模板就是helloworld,根本不需要写,论输出hello world的速度,rust只需要两个指令,这点挺强的。

先上代码,看看:

use std::io;
use std::cmp::Ordering;
use rand::Rng;

fn main() {
    println!("Guess the number!");
    
    let secret_number=rand::thread_rng().gen_range(1,101);
    
    //println!("The secret number is:{}",secret_number);
    loop{
	    println!("Please input your guess");
	    
	    let mut guess = String::new();
	    
	    io::stdin().read_line(&mut guess).expect("Failed to read line");
	    
	    //let guess:u32 = guess.trim().parse().expect("Please type a number!");
	    let guess:u32 = match guess.trim().parse() {
	    	Ok(num) => num,
	    	Err(_) => continue,
		};
	    
	    println!("You guessed:{}",guess);
	    
	    match guess.cmp(&secret_number)
	    {
	    	Ordering::Less => println!("Too small!"),
	    	Ordering::Greater => println!("Too big!"),
	    	Ordering::Equal => {
				println!("You win!");
				break;
			}
		}
	}
}

编写这个代码我用的是 dev C++,听说没有专门的编辑器,后续再试一试notepad--这个国产软件编写是什么感觉。

上述代码中的use用法,感觉像是C++和python的结合,省却了头文件的包含,使用的crate十分类似python的package。fn main() 瞬间来了C语言的感觉,只是不知道函数的返回值在哪儿。let 定义一个常量,mut表示可变的。函数的返回值处理用expect或者match来处理,不处理就会warning。同样是match,有的地方写的是分号;,有的地方写的是逗号,目前还不知道为什么。循环采用loop,这是熟悉的arduino的程序结构啊。{}的语句块,还是C语言的,没有选择python的缩进用法,我觉得是对的。

目前就感觉这么多了,怎么运行程序,看官网的教程入门 - Rust 程序设计语言 (rust-lang.org)

晚安,2023-3-10 22:38 

猜你喜欢

转载自blog.csdn.net/weixin_41579872/article/details/129454977