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

一定要重启命令行

然后输入验证

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/44728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3.0 element-plus 不同版本 el-popover 循环优化

表格内循环el-popover 渲染以后的页面,数据量很大的时候页面会卡,生成的代码: 解决思路:将el-popover提出来,不参与循环,让el-popover只渲染一次 1、以1.1.0-beta.24版为例(低版本)…

从关键新闻和最新技术看AI行业发展(2023.7.10-7.23第三期) |【WeThinkIn老实人报】

Rocky Ding 公众号:WeThinkIn 写在前面 【WeThinkIn老实人报】本栏目旨在整理&挖掘AI行业的关键新闻和最新技术,同时Rocky会对这些关键信息进行解读,力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议,一起交流…

保险龙头科技进化论:太保的六年

如果从2013年中国首家互联网保险公司——众安在线的成立算起,保险科技在我国的发展已走进第十个年头。十年以来,在政策指引、技术发展和金融机构数字化转型的大背景下,科技赋能保险业高质量发展转型已成为行业共识。 大数据、云计算、人工智…

Linux笔试题(4)

67、在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是__C_ A.主机ip设置有误 B.没有设置连接局域网的网关 C.局域网的网关或主机的网关设置有误 D.局域网DNS服务器设置有误 解析:在局域网络内的某台主…

Nginx 配置https以及wss

一、申请https证书 可以在阿里云申请免费ssl证书,一年更换一次 二、Nginx配置ssl upstream tomcat_web{server 127.0.0.1:8080; }server {listen 443 ssl;server_name www.xxx.com;## 配置日志文件access_log /var/log/nginx/web/xxx-ssl-access.log main;er…

Python爬虫的scrapy的学习(学习于b站尚硅谷)

目录 一、scrapy  1. scrapy的安装  (1)什么是scrapy  (2)scrapy的安装 2. scrapy的基本使用  (1)scrap的使用步骤  (2)代码的演示 3. scrapy之58同城项目结构和基本方法&…

2023 最新 小丫软件库app开源源码 PHP后端

上传了源码解压之后,在admin/public/config.php修改后台登录账号和密码 后台地址:域名或者ip/admin 然后自己修改配置即可 后端搭建完成,现在导入iapp源码 导入iapp源码之后,修改mian.iyu载入事件的对接api和url就可以打包了 sss …

React Native 环境搭建

本文以 Android 开发环境(MacBook,已安装 JDK、SDK、Android Studio )为基础而进行 React Native 环境搭建,iOS 环境类似,可参考搭建。 1、安装 Homebrew 命令: ruby -e "$(curl -fsSL https://raw…

【OpenVINOSharp】在英特尔® 开发者套件爱克斯开发板使用OpenVinoSharp部署Yolov8模型

在英特尔 开发者套件爱克斯开发板使用OpenVinoSharp部署Yolov8模型 一、英特尔开发套件 AIxBoard 介绍1. 产品定位2. 产品参数3. AI推理单元 二、配置 .NET 环境1. 添加 Microsoft 包存储库2. 安装 SDK3. 测试安装4. 测试控制台项目 三、安装 OpenVINO Runtime1. 下载 OpenVINO…

Linux/Ubuntu 的日常升级和安全更新,如何操作?

我安装的是Ubuntu 20.04.6 LTS的Windows上Linux子系统版本,启动完成后显示: Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.90.4-microsoft-standard-WSL2 x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.c…

【JS 贪心算法常见步骤】

贪心算法是一种解决优化问题的算法,其思想是在每一步选择中选择当前状态下最优解,从而达到全局最优解的目的。 以下是贪心算法的一些常见步骤: 将问题模型化为一个包含若干子问题的问题集合,每个子问题都有一个最优解。 对于每个…

中国大学生服务外包创新创业大赛丨借 AI 之力,助“记账”难题

一、中国大学生服务外包创新创业大赛 赛事介绍 中国大学生服务外包创新创业大赛,是响应国家关于鼓励服务外包产业发展、加强服务外包人才培养的相关战略举措与号召,举办的每年一届的全国性竞赛。 大赛均由中华人民共和国教育部、中华人民共和国商务部…

火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效

由于流量红利逐渐消退,越来越多的广告企业和从业者开始探索精细化营销的新路径,取代以往的全流量、粗放式的广告轰炸。精细化营销意味着要在数以亿计的人群中优选出那些最具潜力的目标受众,这无疑对提供基础引擎支持的数据仓库能力&#xff0…

【微信小程序】列表滚动触底更新实现

微信小程序开发系列 目录 前言一、上拉触底事件函数onReachBottom二、实现 前言 在微信小程序开发中经常遇到分页列表需要滚动到底部之后进行请求数据更新,下面介绍如何进行触底更新分页展示。使用到页面上拉触底事件的处理函数onReachBottom。 一、上拉触底事件函…

CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息

文章目录 演示CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息lookupSignalDBLookup代码问题:DBLookup(信号名).AttributeName报错问题: motorola格式的信号使用DBLookup获取信号的bitstart跟ig模块里的信息不一样演示 CAPL通过lookupSignal和DBLookup获取DBC信号的属性…

奥威BI数据可视化工具:360度呈现数据,告别枯燥表格

随着企业数据量的不断增加,如何有效地进行数据分析与决策变得越来越重要。奥威BI数据可视化工具作为一款强大的数据分析工具,在帮助企业深入挖掘数据价值方面具有显著优势。 奥威BI数据可视化工具是一款基于数据仓库技术的数据分析工具,具有…

磁盘满了怎么办?实用小技巧,做不做测试都非常好用!

♥ 前 言 工作了多年的测试,应该多少都会遇到磁盘空间不够的情况,比方你现在正在用的测试环境,因为要测试,所以,项目一直启动,那么就会一直在写日志,如果不定期清理日志,随着时间…

企望制造ERP系统 RCE漏洞[2023-HW]

企望制造ERP系统 RCE漏洞 一、 产品简介二、 漏洞概述三、 复现环境四、 漏洞复现小龙POC检测 五、 修复建议 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,…

ES6 Promise/Async/Await使用

Promise应用 在工作中, 我们经常会遇到用异步请求数据, 查询一个结果, 然后把返回的参数放入到下一个执行的异步函数像这样: $.ajax({..., success(resp)>{$.ajax({..., resp.id, success(resp)>{$.ajax({..., resp.name success(resp)>{//多层嵌套的情况, 看着是不…

【MySQL】如何使用Named Pipe协议(Windows)连接MySQL数据库

文章目录 【MySQL】如何使用Named Pipe协议(Windows)连接MySQL数据库连接MySQL的协议使用Named Pipe协议(Windows)连接MySQL步骤1:确认MySQL服务器已启用Named Pipe连接启动Named Pipe连接方法 步骤2:客户端使用Named Pipe连接MySQL服务器。例1&#xff…