您可以通过尝试用多种语言编写一个简单的游戏来开始编程。当你想学习一门新的编程语言时,不妨关注一下编程语言的共性。变量、表达式和语句的概念是大多数编程语言的基础。一旦你理解了它们,你就可以开始弄清楚其余的了。因为编程语言往往有相似之处,一旦你了解了一种语言,你就可以通过了解它的差异来学习另一种语言的基础知识。学习一门新语言的一个好方法是使用可以用来练习的标准程序。这使您可以专注于语言,而不是程序的逻辑。在本系列文章中,我使用了一个“猜数字”程序,计算机从1到100之间选择一个数字让你猜。程序循环直到你猜对了数字。该程序练习了几个编程语言概念:变量输入输出条件评估循环这是学习新编程语言的一个很好的动手实验。安装Rust您可以使用Rustup安装Rust工具链,或者您可以在线试用Rust而无需在本地安装。如果您在本地安装,您应该定期使用rustupupdate更新它以保持您的工具链最新,并使用cargoupdate使您的库保持最新。用Rust语言猜数字Rust是一种使任何人都能构建可靠且高效软件的语言。您可以通过编写“猜数字”游戏的Rust版本来探索Rust。第一步是编写Cargo.toml文件。您可以使用cargonew命令生成框架Cargo.toml。这几乎是启动Rust项目的最佳方式。$cargonewguess$cdguess$ls-1Cargo.tomlsrc/Cargo.toml文件给你的包一个名字,给它一些元数据,最重要的是,指定它依赖于randcrate。[package]name="guess"version="2020.11.0"authors=["MosheZadka"]edition="2018"#在https://doc.rust查看更多密钥及其定义-lang.org/cargo/reference/manifest.html[dependencies]rand="*"Rust中的许多东西不是由语言或标准库提供的。相反,您可以从一些可以做很多事情的外部板条箱中获取它们。程序逻辑在src/main.rs:userand::Rng;使用std::io::BufRead;fnmain(){让mutrng=rand::thread_rng();让random=rng.gen_range(1..101);println!("猜一个1到100之间的数字");对于std::io::stdin().lock().lines()中的行{letparsed=line.ok().as_deref().map(str::parse::);ifletSome(Ok(guess))=parsed{matchguess{_ifguessprintln!("Toolow"),_ifguess>random=>println!("Toohigh"),_=>{println!("没错");休息;}}}}}前两行代码声明了你要做什么。在此示例中,rand::Rng生成一个猜测,traitstd::io::BufRead启用从标准输入读取。Rust代码的入口点在main()函数中,因此下一步是定义main()。要为变量赋值,请将let放在首位,然后是变量的名称,然后是=符号。这会创建一个不可变变量。Rust中的大多数变量是不可变的,但rng对象必须是可变的(mut)。例如,语句letrandom=0将零值分配给随机变量。函数的第一行创建一个线程安全的Rng对象并将其赋值给变量rng。Rust建立在线程和内存安全的基础上,因此您必须在开始编写代码时牢记这些。程序的下一行读取函数gen_range()的结果并将其分配给名为random的变量。该函数采用最小值(包含)和上限(不包含)。要同时包含上限,您可以用等号标记更大的数字(例如,1...=100),或者您可以将上限设置为比您预期的最大值大1。在这种情况下,范围是1到100,使游戏具有足够的挑战性。中央循环遍历std::io::stdin()中的行。Rust要求您用Result换行,因为各种异常可能会阻止该行被读取。有时可能无法将一行解析为整数。此代码使用条件模式匹配来忽略所有会导致错误的行:letparsed=line.ok().as_deref().map(str::parse::);ifletSome(Ok(guess))=parsed{//...}第一行创建一个Result