博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rust 入门_了解Rust以及入门
阅读量:2525 次
发布时间:2019-05-11

本文共 5912 字,大约阅读时间需要 19 分钟。

rust 入门

“所有文档,工具和社区都是很棒的-您拥有成功编写Rust代码的所有工具。”

Yelp基础架构工程师Antonio Verardi

那么,当所有这些都提供给您时,为什么还要犹豫学习一种新的编程语言呢? 现在轮到您加入Rust的伟大社区了。 如果您有兴趣,可以阅读有关Rust相对于其他语言的优势的更多信息。

本教程将指导您设置Rust并开始使用。

为什么要使用Rust及其构建什么

性能

,因为它没有运行时或垃圾回收器。 这是因为运行时不必等待垃圾收集器,该垃圾收集器以自己的速度运行,可以立即删除范围外的变量。 因此,它可以在嵌入式设备内的关键服务上很好地执行,并且可以轻松地与其他语言集成。

安全

Rust中的内存安全性和线程安全性可消除编译时的代码错误。 丰富的类型系统和所有权模型可为您保证这一点。 这对于任何新程序员来说都是一个很大的安慰,因为它减少了编译时的负担。

生产率

任何新手都可能更喜欢使用具有丰富文档,具有有用错误消息的无故障编译器以及资源丰富的工具箱等功能的编程语言。 Rust拥有所有这些。 此外,在工具箱中,您可以访问集成的程序包管理器,具有智能多支持功能的自动完成代码,自动格式设置支持,类型检查等。

用Rust做些什么

您可以将Rust与许多不同的项目一起使用。 Rust出色的命令行工具可以帮助您轻松快速地构建应用程序。 它可用于具有javascript,网络服务和我个人最喜欢的嵌入式系统的Web组装应用程序。

入门

首先下载 。 下载相关文件后,请按照上的说明继续安装。

我建议使用工具“ rustup”。 完成后,配置路径变量。 所有这些都在上面的下载链接中进行了详细说明。

Cargo是Rust的包裹经理。 要查看已安装的软件包的列表,请按照下列步骤操作:

步骤1:打开终端或外壳。

步骤2:然后输入“ cargo”,然后按Enter。 您可以看到货运选项和货运命令:

cargo

列出了货物包装和命令。

步骤3:输入“ rustc --version”以查看您的Rust版本:

rustc –version     
rustc x.y.z
( 73528e339 20xx-
12 -
21
)

步骤4:启用Rust的夜间版本,以便尽快使用其新功能。 如果您不这样做,则必须等待六个星期的发布过程。 在您的外壳中键入“ rustup default nightly”,以允许安装继续进行:

rustup default nightly

步骤5:检查您的版本,并确认您已安装每晚版本。

rustc –version     
rustc x.z.y-nightly
( 41f41b235 20xx-01-
23
)

创建您的第一个应用程序

我将Visual Studio Code(VS Code)用作我的IDE,因为它易于使用并且为Rust提供了很多支持。

VS Code是一个跨平台编辑器,支持Linux,Windows和macOS。 鉴于其提供的灵活性和便利性,许多大型组织(例如Google和Facebook)已将其作为默认的IDE。 但是请注意,它确实包含遥测代码以跟踪使用情况。 如果您反对以明确的退出途径进行跟踪,则应下载并使用 ,该版本是已删除大部分跟踪功能的应用程序版本。

打开VS Code并转到Extensions并输入“ rust” 。 查找扩展名(“ Rust(rls) ”)并安装。

Rust terminal screenshot

现在,请按照下列步骤操作:

步骤1:为您的第一个项目创建一个文件夹。 我将其命名为“ Hello World”。

步骤2:右键点击您的文件夹名称(Hello World),然后创建一个扩展名为“ main.rs”的新文件:

Rust terminal screenshot

步骤3:在新创建的main.rs文件中键入以下文本。 在这里, fn用于在Rust中声明一个函数。 同样,Rust中的每个语句都必须以分号结尾。

fn main      
(
)
{
println
!
(
"My First Program in Rust"
)
;
}

步骤4:右键单击main.rs,然后单击“在终端中打开”。 终端将在您的代码下方打开。

Rust terminal screenshot

要编译您的应用程序,请键入“ rustc main.rs ”并编译您的第一个代码。 然后,要运行它,请输入main并按Enter。 结果(“我在Rust中的第一个程序”)将显示在终端的命令下方。

使用货运创建一个Rust项目

现在,您已经创建并运行了一个简单的应用程序,下面介绍一种创建应用程序的更可靠的方法。 从长远来看,这提供了更多功能,这是大多数Rust程序员所特有的。

第1步:要在Cargo中创建一个项目,请打开一个终端(或使用VS Code中的一个),然后键入“ cargo new first”

cargo new first

将创建一个名为“ first”的项目。

Created binary ( application > ‘first’ package

因此,您可以看到每个Rust项目都有一个(“ src ”)源文件夹和一个cargo.toml文件,其中包含其依赖项。

Rust terminal screenshot

步骤2:将目录更改为第一个项目目录:

cd first

步骤3:要编译程序,请输入“ cargo run build” 。 此命令运行项目并在代码下方显示结果。

cargo run build

步骤4:键入“ cargo run ”,然后在cargo.toml中执行它。 您无需重复构建项目; 只需键入“ cargo run ”即可获取更新的输出。

cargo run

Rust使用不可变的变量,因此一旦定义了值,就将无法对其进行更改。

尝试声明一个整数变量“ a”,一个浮点变量“ b”,一个字符串“ My name is Rust”和一个布尔变量,其值为true。 您可以使用println在终端上显示它们 命令。 因此,对于a的值,它将结果显示为“ a的值为1”。

fn main      
(
)
{
**
let a
=
1
;**
**
let b
=
2.0
;**
**
let name
= “My Name is Rust”
;**
**
let boolean
=
true
;**
 
println
!
( “The value
of a is
: ”
, a
)
;
}

与其他语言类似,Rust中的算术运算遵循标准的数学顺序。 例如,总共返回14:

let arithmetic_value      
=
8
-
2
+
8
;
println
!
( arithmetic_value
)
;

数组

数组用方括号声明。 可以通过使用方括号内的值索引调用数组名称来访问数组值。

**      
let array1
[
1
,
2
,
4
,
5
,
8
]
;**
println
!
( “The value
of a is
: ”
, array1
[
1
]
)
;

这在终端中显示“ a的值为2”。

元组

元组可以声明如下:

**      
let tuple1
=
(
5
,
6.0
, ”My_Name”
)
;**

函数用“ fn ”关键字声明。 此示例代码声明了三个函数-main,hello和add:

**      
fn main
(
)
**
{
hello
( “Rust”
)
;
add
(
2
,
3
)
;
}
 
**
fn hello
( name
:&
str
)
**
{
println
!
( “hello
{
} ”
, name
)
;
}
 
**
fn add
( a
=
i8
, b
=
i8
)
**
{
println
!
( “
{
} ”
, x
+ y
)
;
}

main是每个程序的核心功能。

您始终可以按名称调用在主函数外部声明的另一个函数。 您可以在主功能中分配功能参数值,但是必须在子功能中声明参数类型和限制。

在上面的代码中,“ &str ”定义它是一个字符串函数,并且其限制是动态定义的。

I7 ”将参数声明为整数,并且其限制由8声明。

大括号{}定义应在何处返回函数输出。

在此示例中,首先显示“ hello Rust ”,然后显示5

注释

单行注释由两个斜杠定义。 必须在每行上添加斜杠以用于块注释。

fn main      
(
)
{
let number
=
13
;
// I’m feeling great today
 
// This function is defined to
// explain the use of comments.
}

结论

“从初创企业到大型公司,从嵌入式设备到可扩展的Web服务,Rust都是不错的选择。”

这是动力,它说明了Rust在应用程序中的使用范围。

我希望这个简短的教程使您渴望了解有关Rust的更多信息,以及它的优点,这些优点可能会使您的应用程序大步前进。

翻译自:

rust 入门

转载地址:http://edbzd.baihongyu.com/

你可能感兴趣的文章
hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
查看>>
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>
Alpha 冲刺(3/10)
查看>>
spring中的ResourceBundleMessageSource使用和测试示例
查看>>
Ubuntu菜鸟入门(五)—— 一些编程相关工具
查看>>
Codeforces 279D The Minimum Number of Variables 状压dp
查看>>
打分排序系统漫谈2 - 点赞量?点赞率?! 置信区间!
查看>>
valgrind检测linux程序内存泄露
查看>>
Hadoop以及组件介绍
查看>>
1020 Tree Traversals (25)(25 point(s))
查看>>
第一次作业
查看>>
“==”运算符与equals()
查看>>
单工、半双工和全双工的定义
查看>>
Hdu【线段树】基础题.cpp
查看>>
时钟系统
查看>>
BiTree
查看>>