附录A Rust简明教程

举报
Tom forever 发表于 2020/02/09 12:56:44 2020/02/09
【摘要】 附录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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。