云社区 博客 博客详情

附录A Rust简明教程

Tom forever 发表于 2020-02-09 12:56:44 2020-02-09
0
0

【摘要】 附录A Rust简明教程Rust是一个由Mozilla主导开发的通用、编译型编程语言。它的设计准则为“安全,并发,实用”,支持函数式,并发式,过程式以及面向对象的编程风格。——维基百科安装与第一个Rust程序你可以在 https://www.rust-lang.org/en-US/downloads.html 下载到它的安装包。当然如果你使用的是Linux,或者是Mac的操作系统,你也可以通...

附录A Rust简明教程

Rust是一个由Mozilla主导开发的通用、编译型编程语言。它的设计准则为“安全,并发,实用”,支持函数式,并发式,过程式以及面向对象的编程风格。——维基百科

安装与第一个Rust程序

你可以在 https://www.rust-lang.org/en-US/downloads.html 下载到它的安装包。当然如果你使用的是Linux,或者是Mac的操作系统,你也可以通过在终端输入以下命令来获取它:

curl -sSf https://static.rust-lang.org/rustup.sh | sh

Rust受到了C++、C#等多种语言的启发,所以它们在某些部分表现的非常相似。你可以打开一个文本编辑器,输入:

fn main() {    println!("这是一本超有趣的黑客笔记,使用Rust语言描述。");
}

然后记得把它保存成 *.rs 的格式,记得在保存的时候编码选择 UTF-8 。

变量

虽然Rust是静态类型语言,但是它有一个被称作类型推断的功能。换句话说,在很多时候明确指出类型是不必要的。使用 let 就完成绑定。在Rust变量绑定和其他语言中的声明变量有一点儿不太一样。Rust是把值绑定在一个名字上,所以当一个变量名已经被绑定过一次的时候,你还可以再给它绑定一个新的值。甚至是不同类型的值。

在C语言中,你定义一个变量之后,可以随意的为它赋值,譬如:

int x = 0;x = 1;

但是在Rust语言中,这样是不对的:

let x = 0;x = 1;

如果你这样做的话,你就会得到这样的结果:

main.rs:3:2: 3:7 error: re-assignment of immutable variable `x` [E0384]
main.rs:3      x = 1;
                ^~~~~
main.rs:3:2: 3:7 help: run `rustc --explain E0384` to see a detailed explanation
main.rs:2:6: 2:7 note: prior assignment occurs here
main.rs:2      let x = 0;
                    ^
error: aborting due to previous error

如果你希望变量能够像C语言那样被使用,你应该给它加上 mut ,只要你把 let x = 0; 改成 let mut x = 0; 就可以了。

结构控制

你应该已经发现了,Rust语言中的 if 语句和别的编程语言基本上是一样的。它的 else if 和 else 也都是可以省略的。

let x = 1;if x == 1 {    println!("变量x的值是1");
} else if x == 2 {    println!("变量x的值是2");
} else {    println!("变量x的值即不是1,也不是2");
}

对于循环来说,Rust语言把循环处理得更简单了。它们分别是 loop 、 while 和 for 。 while 的情况和C语言基本保持一致。 loop 相当于你写了:

while true{
}

所以使用 loop 的时候要格外小心,它们都可以用 break; 和 continue; 控制。所以也不必担心你会写出一个死循环。

for 语句被设计的非常讨人喜欢,在书中涉及了很多它的用法,其中一种常用的方法是:

for i in 1..5 {
    println!("{}", i); 
}

好了,您现在已经是一名Rust程序员了。如果您希望进一步了解Rust,您可以参考它的官方文档。


本文转载自异步社区

文链接:https://www.epubit.com/articleDetails?id=NC7E3EF9197000001A5F82FA031663E80


登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

上一篇:学习,这些网址就够了

下一篇:1.2 正确的打开方式

评论 (0)


登录后可评论,请 登录注册

评论