【RUST学习日记】第1课 Hello World

简介: 【RUST学习日记】第1课 Hello World

0x00 写在前面


近几年来Rust这门语言越来越流行,我相信大部分有开发经验的“攻城狮”和“程序猿”们都有所耳闻。假如你之前没有听过那也没关系,咱们一起来学习它。如果你有Java,Kotlin,Python,Go,C++, JavaScript,C#等高级语言的编程经验,那学习Rust应该比较容易哦~~即使没有任何编程经验,依然也可以学习哟,因为可以不受任何语言的影响去了解一门编程语言,我感觉也是比较容易上手的。 


0x01 什么是Rust


Rust语言的出生日期是在 2006 年,其本来是Mozilla员工 Graydon Hoare大神的私人项目,在2010年开始对外公布了。之后Hoare大神离开了Mozilla,大家如果想进一步了解 Hoare大神,可以百度一下。这里也有他离开Mozilla的一个解释——[strcat] : rust (slash-r-slash-rust.github.io)

话题转回来,Rust语言突然流行起来,肯定有它的优势。Rust语言具有内存安全,内存管理,所有权,类型多态等优势。简单介绍下,Rust语言不会出现内存访问的错误,为了保证内存安全,建立了严格的内存管理模型——所有权系统和类型系统。通过严格的编译器来检查代码中的每个变量和引用的每个内存指针,为所有的变量建立了清晰的生命周期。如果变量超出生命周期,变量将会自动被释放,因此其并不像Java那样需要垃圾回收机制。其中,每一个被分配的内存都有一个独占其所有权的指针。当时该指针被销毁时,相应的指针对应的内存才会被释放掉。


0x02 搭建Rust环境


声明:本文所有的操作都在Widnows 10系统上操作。本人买不起水果本~~~

Windows操作系统上搭建环境还是比较简单的


1.官网下载安装包


Install Rust - Rust Programming Language (rust-lang.org)

根据自己操作系统选择32位或者64位安卓包即可。


2.安装Visual Studio (必须)


安装Visual Studio (必须)

安装Visual Studio (必须)

Rust编译需要使用MSVC Build Tools,没有单独的安装包,最简单的方法就是安装Visual Studio咯

如果你不从事C#相关的开发,我这里建议安装 Visual Studio 2013就可以了。下面是下载地址。

Visual Studio Ultimate 2013 (x86) - DVD (Chinese-Simplified) 
文件名:cn_visual_studio_ultimate_2013_x86_dvd_3175316.iso
SHA1:D6029A90916AA49F3F8F260C277DAF838DDA0612
文件大小:2.87GB
发布时间:2013-11-08
电驴:ed2k://|file|cn_visual_studio_ultimate_2013_x86_dvd_3175316.iso|3077509120|ADDA34B2BC29E1571276AE50A220EB91|/

3.命令行输入rustc回车,出现下面的提示,即表明安装完成Rust了。


0a2653c851af460fa595bd959398a8f1.png

 

0x03 Hello World


是不是等这一刻很久了,开始手撸Hello World,毕竟这是学习每一门语言的第一步~~


2d65d23f6d4748949b924e4057485923.png


随便创建一个文件夹,创建一个文件main.rs,编写上图的代码。

fn main() {
   println!("hello world~~");
}

然后使用rustc编译这个文件。

注:如果这里你编译报了下面图片所示的错误,那么你肯定没有装Visual Studio~


6de278e6d6694ce5bb08e7e842b7e74b.png


编译成功后,会在目录下多出两个文件。


微信图片_20230107144951.jpg

快点击 main.exe运行看下...发生了什么,一闪而过。原因是程序执行太快,瞬间结束了,咱们加入下面的代码,让程序暂停~

use std::process::Command;
fn main() {
   println!("hello world~~");
   // 命令提示符 pause
   let _ = Command::new("cmd.exe").arg("/c").arg("pause").status(); 
}

再重新编译,运行!成功了!!这是咱们写的第一个Rust程序。


0a2653c851af460fa595bd959398a8f1.png


0x04 小结


咱们初步认识了Rust,也写了第一个程序—— Hello World。咱们可能不明白它的语法,但是已经运行了起来。没关系咱们后续的文章会详细介绍。通过Hello World程序,咱们也知道了Rust语言在计算机中打印信息的方法,是不是与C语言,Java,Kotlin很像呢?还有,咱们在搭建环境的时候必须要安装Visual Studio的原因是什么呢?有没有什么方法能跟Go语言那样,可以不安装Visual Studio就运行Rust呢?答案是有的,大家可以百度下,我在这里就不多介绍了呢?下节预告——Rust是否有其它的构建工具和包管理工具呢? 


0x05 官方文档及其他资料(免费)


  • 学习 Rust - Rust 程序设计语言 (https://www.rust-lang.org/zh-CN/learn)
  • Rust 教程 | 菜鸟教程 (https://www.runoob.com/rust/rust-tutorial.html)
相关文章
|
3天前
|
存储 Rust 网络协议
【Rust学习】10_定义枚举
在这一章我们学习 枚举(enumerations),也被称作 enums。枚举允许你通过列举可能的 成员(variants) 来定义一个类型。首先,我们会定义并使用一个枚举来展示它是如何连同数据一起编码信息的。接下来,我们会探索一个特别有用的枚举,叫做 Option,它代表一个值要么是某个值要么什么都不是。然后会讲到在 match 表达式中用模式匹配,针对不同的枚举值编写相应要执行的代码。最后,我们将学习 if let 结构,另一个简洁方便处理代码中枚举的结构。
17 7
|
24天前
|
Rust 算法 安全
学习Rust
【10月更文挑战第13天】学习Rust
50 8
|
25天前
|
Rust 安全 算法
Rust的学习
【10月更文挑战第12天】Rust的学习
25 2
|
25天前
|
Rust 算法 安全
如何学习Rust编程?
【10月更文挑战第12天】如何学习Rust编程?
37 1
|
2月前
|
Rust Windows
rust hello world
rust hello world
|
1月前
|
Rust API
【Rust学习】09_方法语法
结构体让你可以创建出在你的领域中有意义的自定义类型。通过结构体,我们可以将相关联的数据片段联系起来并命名它们,这样可以使得代码更加清晰。在 impl 块中,你可以定义与你的类型相关联的函数,而方法是一种相关联的函数,允许您指定结构体的实例具有的行为。 但是结构体并不是创建自定义类型的唯一方式:让我们转向 Rust 的 enum 功能,将另一个工具添加到你的工具箱中。
13 0
|
2月前
|
Rust 索引
【Rust学习】08_使用结构体代码示例
为了了解我们何时可能想要使用结构体,让我们编写一个计算长方形面积的程序。我们将从使用单个变量开始,然后重构程序,直到我们改用结构体。
84 2
|
2月前
|
存储 Rust 编译器
【Rust学习】07_结构体说明
**struct**或 ***structure***是一种自定义数据类型,允许您命名和包装多个相关的值,从而形成一个有意义的组合。如果您熟悉面向对象的语言,那么**struct**就像对象中的数据属性。在本章中,我们将比较和对比元组与结构体,在您已经知道的基础上,来演示结构体是对数据进行分组的更好方法。
24 1
|
2月前
|
Rust Linux Go
Rust/Go语言学习
Rust/Go语言学习
|
3月前
|
存储 Rust 安全
【Rust学习】06_切片
所有权、借用和切片的概念确保了 Rust 程序在编译时的内存安全。Rust 语言提供了跟其他系统编程语言相同的方式来控制你使用的内存,但拥有数据所有者在离开作用域后自动清除其数据的功能意味着你无须额外编写和调试相关的控制代码。
23 1
下一篇
无影云桌面