rust入门系列之Rust介绍及开发环境搭建

Rust教程

Rust基本介绍

网站: https://www.rust-lang.org/

rust是什么

开发rust语言的初衷是:

在软件发展速度跟不上硬件发展速度,无法在语言层面充分的利用硬件多核cpu不断提升的性能和

在系统界别软件开发上,C++出生比较早,内存管理容易出现安全问题的背景下。

为了解决开发系统界别软件的内存安全性不好掌控和高性能高并发没有在语言层面很好支持的这两个问题,

rust在2006年就以私人项目的方式存在了,直到2015年发布了第一个稳定的版本Rust1.0。

rust非常受欢迎,连续四年(2016,2017,2018,2019)在Stack Overflow开发者调查的"最受喜爱编程语言"评选项目中折取桂冠。

Rust的特点

系统级别的编程语言

系统级别中的系统是一个广义的概念,指的是比较底层的系统软件,比如操作系统,一些硬件的嵌入式程序等。

注重于安全

这里的安全针对于内存管理方面的安全,

在别的语言中内存方面的风险有内存泄露等,rust在语法层面杜绝了内存泄露。

高性能和高并发

rust与C++语言的效率不相上下,并且天生设计上很大的利用了多核cpu的资源,所以高性能高并发。

rust的应用场景

需要c++开发的软件都可以用rust代替,内存管理更安全。

Rust还是Go

  • 设计目标不同:Go 旨在简化并发编程并快速开发,而 Rust 更多地关注系统级别的性能和安全。
  • 垃圾收集:Go 使用垃圾收集,这在某些情况下可能导致性能开销。
  • 编译器优化:虽然 Go 的编译器进行了许多优化,但由于 Rust 的更强大的类型系统和所有权模型,Rust 编译器在某些情况下可能能够进行更为深入的优化。

总体来说,Rust 和 Go 是为不同的目的而设计的语言。Rust 专注于系统编程和性能,而 Go 更多地关注于开发速度和并发。每种语言都有其优点和使用场景。

Rust环境搭建和开发工具

基本步骤:

  • 本地安装Rust sdk并配置环境变量
  • 使用IDE或者文本编辑器

本地安装Rust sdk

macOS

使用 Rustup(推荐)

您似乎正在运行 macOS、Linux 或其它类 Unix 系统。要下载 Rustup 并安装 Rust,请在终端中运行以下命令,然后遵循屏幕上的指示。如果您在 Windows 上,请参见 "其他安装方式"

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

一定要重启命令行

然后输入验证

rust 复制代码
rustc --version
rustup doc

详细例子见官网: https://code.visualstudio.com/docs/languages/rust

其它os见官网

: https://forge.rust-lang.org/infra/other-installation-methods.html

IDE

Rust 目前没有专用IDE都是通过插件来实现的.

支持 VS Code IntellJ IDEA等等,详细见: https://www.rust-lang.org/zh-CN/tools

本文以VS Code为例,其余的IDE通过官网都可以搜索的到,或者大家有需求出一版对应IDE内容可以评论区留言.

VS Code

下载 VS Code后

点击扩展->搜索rust-analyzer插件

Cargo

Cargo:Rust 的构建工具和包管理器

安装 Rustup 时,也会安装 Rust 构建工具和包管理器的最新稳定版,即 Cargo。Cargo 可以做很多事情:

  • cargo build 可以构建项目
  • cargo run 可以运行项目
  • cargo test 可以测试项目
  • cargo doc 可以为项目构建文档
  • cargo publish 可以将库发布到 crates.io

要检查是否安装了 Rust 和 Cargo,可以在终端中运行:

cargo --version

至此我们的开发环境就搭建完成了,是不是特别简单.

相关推荐
凡人的AI工具箱8 分钟前
每天40分玩转Django:实操图片分享社区
数据库·人工智能·后端·python·django
数据小小爬虫20 分钟前
Python爬虫获取AliExpress商品详情
开发语言·爬虫·python
小爬虫程序猿21 分钟前
利用Python爬虫速卖通按关键字搜索AliExpress商品
开发语言·爬虫·python
一朵好运莲27 分钟前
React引入Echart水球图
开发语言·javascript·ecmascript
Eiceblue40 分钟前
使用Python获取PDF文本和图片的精确位置
开发语言·python·pdf
Q_192849990644 分钟前
基于Spring Boot的个人健康管理系统
java·spring boot·后端
liutaiyi844 分钟前
Redis可视化工具 RDM mac安装使用
redis·后端·macos
xianwu5431 小时前
反向代理模块。开发
linux·开发语言·网络·c++·git
Q_19284999061 小时前
基于Springcloud的智能社区服务系统
后端·spring·spring cloud
xiaocaibao7771 小时前
Java语言的网络编程
开发语言·后端·golang