【Rust指南】快速入门 开发环境 hello world_rust开发是啥(1),大数据开发开发面试问题回答技巧

53 阅读5分钟

  前言

  本篇博客是Rust语言系列的开篇之作,以后有关Rust语言的文章也都会收录在我的 《进军Rust》 专栏里,我会精心打造这个专栏,帮助大家快速入门Rust语言,享受Rust语言带来的编程乐趣。虽然Rust相比其他语言入门慢,但这恰巧说明了Rust语言的特色——安全高效。对Rust语言感兴趣的朋友可以订阅此专栏,我将会持续输出Rust语言编程技能。


一、Rust语言的背景和特点

1、为什么要用Rust?

  1. Rust 是一种令人兴奋的新编程语言,它可以让开发者编写可靠且高效的软件。
  2. 它可以用来替换C/C++,这是因为Rust具有和他们同样的性能,但是使用Rust可以将很多常见Bug消灭在编译阶段
  3. Rust是一种通用的编程语言,而且更善于以下场景:
    • 高效率
    • 内存安全
    • 更好的利用多处理器

2、与其他编程语言相比较

  • C/C++性能很好,但是系统类型和内存都不太安全。
  • Java/C#,拥有GC机制,能保证内存安全,特性也优秀,但是性能不行
  • Rust:
    • 安全
    • 无需GC
    • 代码安全高效,易于维护、调试

3、Rust特别擅长的领域

  1. 高性能Web Service
  2. WebAssembly
  3. 命令行工具
  4. 网络编程
  5. 嵌入式设备
  6. 系统编程

4、Rust的用户和案例

  • Google:新操作系统Fuschia,其中Rust代码量约占30%
  • Amazon:基于Linux开发的直接可以在裸机、虚机上运行容器的操作系统
  • System76:纯Rust开发了下一代安全操作系统Redox
  • 斯坦福和密歇根大学:嵌入式实时操作系统
  • 微软:正在使用Rust重写Windows系统中的一些低级组件以及开设Rust项目

5、Rust的优缺点

  • 优点:
    • 高性能
    • 安全性
    • 无所畏惧的并发(高并发)
  • 缺点:
    • “难学”
    • Rust有很多独有的概念,和现在大多主流语言不同
      • 所以想学好这门语言必须从基础概念一步一步学,不要好高骛远

二、Rust的安装与开发工具

1、安装Rust

  • 官网链接:www.rust-lang.org/
  • 流程:点击GET STARTED,跳转后根据电脑选择对应版本(32or64)
    下载完成后是一个可执行文件,双击后出现以下页面:
    在这里插入图片描述
    这里选择1默认安装即可,路径在图片的第二行位置,需要一小会时间来自动安装
  • 常用命令
    • 安装验证:rustc --version
    • 更新:rustup update
    • 卸载:rustup self uninstall
    • 本地文档:rustup doc
      • 可在浏览器打开本地文档(离线可使用)

2、开发工具

两种供选择的工具:

  1. Visual Stduio Code
    • Rust 插件
  2. Clion(Intellij Idea 系列)
    • Rust 插件

博主选择的是Visual Stduio Code,并安装Rust插件(也叫扩展)

安装插件:

  • 在Vsc扩展里搜索Rust
    在这里插入图片描述

第一个被舍弃了,所以安装 rust-analyzer 这个插件

三、编写hello world

1、从零到一打印hello world

hello world是我们接触新语言中的”元老级人物“了,那么该怎样进行编写呢?

我们先把文件创建好,就比如在根目录创建RustProgram文件夹,然后进入黑窗口中:

  1. 可以在此处创建项目并进入Vsc:
    在这里插入图片描述
  2. 然后在资源管理器处新建文件hello_world.rs,并敲入代码:
    在这里插入图片描述
  3. 在黑窗口有序输入rustc hello_world.rshello_world
    在这里插入图片描述
  4. 此时Vsc中自动生成了其他文件:
    在这里插入图片描述

对于文件命名我们习惯上用_下划线连接,Rust文件后缀名必须是.rs

2、代码与运行过程分析

img img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取