当前位置:首页 >知识 >开始用Rust编写代码! 比如并发性和类型推断等

开始用Rust编写代码! 比如并发性和类型推断等

2024-06-28 22:15:54 [百科] 来源:避面尹邢网

开始用Rust编写代码!开始

译文 作者: 布加迪 开发 前端 Rust适合构建各种程序,写代包括Web应用程序、开始命令行工具和网络服务。写代Rust包含您期望从现代编程语言获得的开始许多特性,比如并发性和类型推断等。写代

作者 | Ukeje

译者 | 布加迪

开始用Rust编写代码! 比如并发性和类型推断等

审校 | 重楼

开始用Rust编写代码! 比如并发性和类型推断等

Rust是开始一种强大的语言,但从哪里开始入手呢?如果您习惯使用另一种语言,写代就应该知道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 comment         let 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");         }}

在这个例子中,else语句之所以运行,是由于a的值不等于123。

针对复杂的情形,您可以使用match关键字来声明匹配语句:

fn main() {          let age: i32 = 7;         match age {              1 => println!("one"),             2 => println!("two"),             3 => println!("three"),             _ => println!("zero"),         }}

main函数将age变量与match语句中的case进行匹配,并执行与该值匹配的表达式。下划线(_)是在值匹配时运行的默认语句。

7、Rust中的循环

Rust为重复的任务提供循环。Rust有三种主要类型的循环:loop循环、while循环和for循环。

loop关键字创建一个无限循环,该循环一直运行,直至遇到break关键字:

fn main() {          loop {          println!("printed repeatedly until break statement is encountered.");         break;         }}

当您想要重复一段代码时,只要条件的评估结果为true,while循环就很方便:

fn main() {          let mut count = 0;         while count < 5 {                println!("The count is { }", count);               count += 1;         }}

for循环适用于迭代一组项,比如数组:

fn main() {          let numbers = [1, 2, 3, 4, 5];         for item in numbers.iter() {              println!("The current item is { }", item);                     }}

for循环遍历number数组,并将每一项打印输出到控制台。

8、声明和调用Rust函数

使用fn关键字声明一个Rust函数,后跟函数名、参数列表和返回类型(如果有的话)。

下面是如何声明一个带参数和返回类型的函数:

fn add(a: i32, b: i32) -> i32 {     return a + b;}

add函数接受两个32位整数,并返回一个32位整数,即两个参数的和。要从您代码的其他地方调用函数,只需指定名称和参数(如果有的话):

fn main() {          let result = add(2, 3);         println!("2 + 3 = { }", result);}

result变量保存调用add函数的结果。main函数使用println!宏将结果打印输出到控制台。

9、Rust中的结构体

Rust提供了用于定义将相关值分组的自定义数据类型的结构体。结构体是创建具有特定属性的对象的蓝图。

下面显示了如何声明一个结构体:

struct Person {        name: String,       age: u32,       is_male: bool,}

Person结构体有三个字段:字符串、无符号32位整数和布尔值。在定义了一个结构体之后,您可以在程序的其他部分创建其实例:

fn main() {          let person1 = Person {              name: String::from("Candace Flynn"),             age: 16,             is_male: false,         };}

person1变量是Person结构体的一个实例。在实例化时,您可以为结构体字段赋值。您可以随心所欲地创建一个结构体的多个实例。

10、如何在Rust中实现OOP?

Rust很灵活,您可以在Rust中使用结构体等内置数据结构来实现OOP概念。

可以使用结构体来替代类。借助Rust的结构体,可以为类型定义蓝图,并使用Rust在结构体方面提供的功能实现不同的OOP概念。

原文链接:https://www.makeuseof.com/rust-everything-know-start/

责任编辑:武晓燕 来源: 51CTO技术栈 Rust程序Web

(责任编辑:娱乐)

    推荐文章
    热点阅读