作者 | Ukeje
译者 | 布加迪
审校 | 重楼
Rust是一种强大的语言,但从哪里开始入手呢?如果您习惯使用另一种语言,就应该知道Rust如何处理这些熟悉的概念 。
1、梳理Rust
自2015年发布以来,Rust已成为开发人员最喜欢的编程语言之一 。Rust提供了出色的性能和安全特性,具有直观简洁的语法,因而成为理想的编程语言 。
Rust适合构建各种程序,包括Web应用程序、命令行工具和网络服务 。Rust包含您期望从现代编程语言获得的许多特性,比如并发性和类型推断等 。
Rust是一种跨平台编程语言,可以在大多数操作系统上运行 。若要开始使用Rust,请访问官方Rust网站(https://www.rust-lang.org/tools/install),并为你的操作系统安装首选版本 。
一旦安装了Rust,你就可以开始在扩展名为.rs的Rust文件中编写程序 。Rust用途广泛,易于上手 。如果您之前有过编程经验,会发现它很简单 。
2、Rust中的变量和常量
Rust有很强的表达力,并且有多种声明变量的方法 。您可以使用let关键字来声明变量 。
下面是在Rust中声明变量的方法:
let a: String;let b: i32;let c: () = ();
变量a和b分别是字符串和整数 。变量c是一个Rust单元类型,充当函数和表达式的占位符 。
在可选的数据类型声明之后,您可以使用等号符号声明和初始化变量 。
fn mAIn(){let age: String = String::from("five years old");let age = 5; // equivalent to let age: i32 = 5;println!("{}", age);}
程序在使用println!宏打印输出之前声明两个age变量 。第一个age变量指定数据类型,第二个变量不指定 。
在声明变量时不必指定其数据类型 。Rust编译器在编译时根据值的数据类型推断类型 。
文章插图
在Rust中,您还可以用const关键字声明常量,就像声明变量一样:
const age: &str = "five years old";
您无法修改声明为常量的变量的值 。
3、注释Rust程序
Rust提供了单行和块注释的功能 。针对单行注释,您可以使用双正斜杠(//):
fn main() {// This is a line commentlet x = 5; // This comment explains the purpose of the `x` variable}
针对多行注释(块注释),使用正斜杠后跟星号(/*),并用星号后跟正斜杠(*/)结束块:
fn main() {/*This is a block comment that spans multiple lines.It is often used to describe a larger block of code.*/let x = 5;}
这样,注释就可以简洁明了 。
4、Rust中的数组
数组是数据类型相同的元素的固定大小的集合 。默认情况下,Rust在堆栈上分配数组 。
下面是在Rust中声明数组的方法:
fn main() {let numbers = [1, 2, 3, 4, 5];}
numbers数组含有5个项 。您可以使用索引访问数组中某个位置的值:
fn main() {let numbers = [1, 2, 3, 4, 5];let x = numbers[3];println!("{}", x)}
main函数输出访问数组第四个元素的变量x 。
文章插图
5、Rust中的向量
Rust提供向量来掩盖数组的限制 。向量是动态大小的,它们可以根据需要来扩大和缩小 。
下面是在Rust中声明向量的方法:
fn main() {let my_vec: Vec<i32> = vec![1, 2, 3, 4, 5];let x = my_vec[3];println!("{}", x)}
my_vec向量是一个32位整数向量 。变量x访问向量的第四个元素,main函数将值输出到控制台 。
6、Rust的条件语句
条件语句是Rust用于程序决策的控制结构之一 。您可以使用if和else关键字来处理程序中的决策 。
下面这个if语句根据两个整数的相等性向控制台输出一个字符串 。
fn main() {let a: i32 = 12;if a == 12 {println!("a equals twelve");}}
由于变量等于12,main函数使用println!宏打印输出字符串 。可以使用else关键字来处理if语言评估为false的情况:
fn main() {let a: i32 = 12;if a == 123 {println!("a equals twelve");} else {println!("a does not equal twelve");}}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ChatGPT强势加入芯片设计!不用学专业硬件描述语言了,说人话就行
- 都2023年了,电视到底能不能当显示器用
- 值得与Python结合使用的五个新颖的数据科学工具
- dxf文件用什么打开?
- AI虚拟人冷思考:是代替人类,还是人类用它赚钱?
- OpenAI 创始人最新演讲:ChatGPT 炸裂新功能,分享怎样教 AI 使用工具
- 电影用英语怎么说
- 葡萄用英语怎么说读
- 飞利浦剃须刀
- 如果就怎么造句