快速上手 Rust——环境配置与项目初始化

Rust 跨界:全面掌握跨平台应用开发

第一章:快速上手 Rust
1.1 环境配置与项目初始化
1.1.1 安装 Rust 和 Cargo

在开始学习 Rust 之前,首先需要安装 Rust 编程语言及其包管理工具 Cargo。Rust 的安装非常简单,使用官方的安装脚本就可以完成。

步骤 1:安装 Rust

  1. 打开终端(命令提示符)。

  2. 运行以下命令:

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

    如果您使用 Windows,可以使用 PowerShell:

    iwr https://sh.rustup.rs -useb | sh
    
  3. 安装完成后,您会看到如下信息,说明安装成功:

    Rust is installed now. Great!
    
  4. 关闭并重新打开终端,运行以下命令检查 Rust 是否安装成功:

    rustc --version

步骤 2:安装 Cargo

Cargo 是 Rust 的包管理工具,安装 Rust 时会自动安装 Cargo。你可以通过以下命令检查 Cargo 是否安装成功:

cargo --version

这将显示 Cargo 的版本号。

1.1.2 创建第一个 Rust 项目

使用 Cargo 创建一个新的 Rust 项目非常简单。下面是创建和运行第一个项目的步骤。

步骤 1:创建项目

在终端中,使用以下命令创建一个新项目:

cargo new hello_rust

这将在当前目录下创建一个名为 hello_rust 的新目录,里面包含了项目的基本结构。

步骤 2:进入项目目录

cd hello_rust

步骤 3:查看项目结构

项目目录结构如下:

hello_rust
├── Cargo.toml
└── src
    └── main.rs
  • Cargo.toml:项目的配置文件,定义了项目的元数据和依赖项。
  • src/main.rs:Rust 源代码文件,程序的入口点。

步骤 4:编写代码

打开 src/main.rs,你会看到默认的代码:

fn main() {
    println!("Hello, world!");
}

这段代码会在终端打印 "Hello, world!"。

步骤 5:构建和运行项目

在项目根目录下,运行以下命令构建并运行项目:

cargo run

这将编译代码并执行,终端输出将显示:

Hello, world!
1.1.3 项目结构与基本文件说明

了解项目结构对后续开发非常重要。以下是项目中主要文件的说明:

  • Cargo.toml:包含项目的名称、版本、作者和依赖项。例如:

    [package]
    name = "hello_rust"
    version = "0.1.0"
    edition = "2021"
    
    [dependencies]
    

    [dependencies] 部分,可以添加项目依赖的其他库。

  • src/main.rs:是 Rust 程序的入口文件,所有的代码逻辑都将放在这里。你可以根据需要创建其他模块。

步骤 4:添加依赖

如果需要在项目中使用第三方库,可以在 Cargo.toml 文件的 [dependencies] 部分添加相应的库。例如,添加 serde 库进行序列化和反序列化:

[dependencies]
serde = "1.0"

添加依赖后,运行以下命令以下载依赖:

cargo build
1.1.4 使用 rustup 管理工具链

rustup 是 Rust 的工具链管理工具,它允许你轻松管理 Rust 版本和工具链。使用 rustup,你可以安装不同版本的 Rust,并在它们之间切换。

步骤 1:安装其他工具链

使用以下命令安装 nightly 版本的 Rust:

rustup install nightly

步骤 2:切换工具链

使用以下命令切换到 nightly 版本:

rustup default nightly

步骤 3:查看已安装的工具链

你可以使用以下命令查看已安装的工具链:

rustup toolchain list
1.1.5 设置代码编辑器(如 VSCode)和插件

为提高开发效率,可以使用 Visual Studio Code(VSCode)作为代码编辑器,并安装相关插件以支持 Rust 开发。

步骤 1:安装 VSCode

如果尚未安装 VSCode,可以前往 VSCode 官网 下载并安装。

步骤 2:安装 Rust 扩展

在 VSCode 中,打开扩展视图,搜索并安装以下扩展:

  • Rust (rls):提供 Rust 语言的支持,包括代码提示、错误检查等功能。
  • Rust Analyzer:提供更强大的代码分析和自动补全功能。

步骤 3:配置

安装完成后,打开 Rust 项目,VSCode 将自动识别项目并提供相关功能。

1.1.6 小结

本节介绍了如何安装 Rust 和 Cargo,创建第一个 Rust 项目,了解项目结构,并设置开发环境。掌握这些基础知识后,您将能够开始编写 Rust 代码并逐步深入学习更复杂的概念。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【python】OpenCV—Tracking(10.3)—GOTURN

文章目录 1、功能描述2、模型介绍3、代码实现4、完整代码5、结果展示6、优缺点分析7、参考 1、功能描述 基于 Generic Object Tracking using Regression Networks 方法,实现单目标跟踪 2、模型介绍 (1)发表来自 Held D, Thrun S, Savarese…

如何将本地项目上传至Gitee仓库(详细教程)

前提条件 1、本地电脑安装Git客户端 2、本地已有项目 3、Gitee注册好了账户 如果没有安装Gitee 可以区菜鸟查看一下安装教程 Git教程https://www.runoob.com/git/git-tutorial.html 操作示例 前提条件已经准备好的情况下登录gitee 码云 https://gitee.com 点解右侧加号 新…

二叉树中的深搜 算法专题

二叉树中的深搜 一. 计算布尔二叉树的值 计算布尔二叉树的值 class Solution {public boolean evaluateTree(TreeNode root) {if(root.left null) return root.val 0? false: true;boolean left evaluateTree(root.left);boolean right evaluateTree(root.right);return…

静态水印+动态水印,开启超强PPT版权保护!

在保护 PPT 内容版权时,水印是一种既简单又有效的手段。无论你是为了防止内容被非法复制,还是为了在传播中标明作者身份,水印都能为你的 PPT 提供额外的安全保障。 在传统的 PPT 制作中,最常见的水印添加方法是通过「幻灯片母版」…

std.move 可以重复使用吗?普通变量不行,shared_ptr包装后可以

std.move std::move函数本身可以重复调用,但这取决于对象的状态。在C中,std::move函数用于将一个对象转换为右值引用,从而允许我们从该对象中提取所有权,而不需要创建新的对象。然而,std::move并不会改变对象的状态&am…

关于图像分解的RPCA

将矩阵分解为低秩矩阵和独立同分布的高斯矩阵是PCA 当矩阵 E0 为稀疏的噪声矩阵时,分解为一个低秩矩阵部分 A 和一个稀疏矩阵部分 E 的 矩阵的秩和 ℓ0 范数问题都可以进行凸松弛,矩阵的核范数是矩阵秩的凸包络,(1)变…

XHCI 1.2b 规范摘要(八)

系列文章目录 XHCI 1.2b 规范摘要(一) XHCI 1.2b 规范摘要(二) XHCI 1.2b 规范摘要(三) XHCI 1.2b 规范摘要(四) XHCI 1.2b 规范摘要(五) XHCI 1.2b 规范摘要…

【远程项目管理】Focalboard如何在Windows环境使用Docker快速部署

文章目录 前言1. 使用Docker本地部署Focalboard1.1 在Windows中安装 Docker1.2 使用Docker部署Focalboard 2. 安装Cpolar内网穿透工具3. 实现公网访问Focalboard4. 固定Focalboard公网地址 前言 本篇文章将介绍如何在Windows系统本地快速部署Focalboard项目管理工具&#xff0…

WebStorm EsLint报红色波浪线

如图左侧。 这个错误是由于 ESLint 和 Prettier 的配置不一致导致的。它建议你移除多余的空格。以下是一些解决方法: 安装 Prettier 插件: 确保你在 WebStorm 中安装了 Prettier 插件,并确保它配置正确。 调整 ESLint 配置: 检查…

【Flask】二、Flask 路由机制

目录 什么是路由? Flask中的路由 基本路由 动态路由 路由中的HTTP方法 路由函数返回 在Web开发中,路由是将URL映射到相应的处理函数的过程。Flask是一个轻量级的Web应用框架,提供了简单而强大的路由机制,使得开发者能够轻松…

如何用Python同时抓取多个网页:深入ThreadPoolExecutor

背景介绍 在信息化时代,数据的实时性和获取速度是其核心价值所在。对于体育赛事爱好者、数据分析师和投注行业而言,能否快速、稳定地抓取到实时比赛信息显得尤为重要。特别是在五大足球联赛中,能够在比赛进行时获得比分、控球率等实时数据&a…

深入计算机语言之C++:内存管理

🔑🔑博客主页:阿客不是客 🍓🍓系列专栏:从C语言到C语言的渐深学习 欢迎来到泊舟小课堂 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 一、 C/C的内存分布 我们先来看一段代码&#xf…

使用Vue.js和Vuex构建可维护的前端应用

使用Vue.js和Vuex构建可维护的前端应用 Vue.js简介 安装Vue.js 使用npm安装 使用CDN引入 创建Vue项目 安装Vuex 初始化Vuex Store 在Vue组件中使用Store Vuex模块化 Vuex命名空间 Vuex插件 Vuex热重载 Vuex持久化状态 Vuex调试工具 Vuex的高级用法 异步Actions 中间件 Vuex的…

云智慧完成华为原生鸿蒙系统的适配, 透视宝 APM 为用户体验保驾护航

2024 年 10 月 22 日,首个国产移动操作系统 —— 华为原生鸿蒙操作系统 HarmonyOS NEXT 正式面世,成为继 iOS 和 Android 后的全球第三大移动操作系统。HarmonyOS NEXT,从系统内核、数据库根基,到编程语言创新、AI(人工…

Metasploit(MSF)使用

目录 Metasploit简要介绍 主要功能 漏洞利用: Payload 生成: 辅助模块: 后渗透模块: 报告生成: 使用教程以及案例 基础命令使用 生成被控端 命令介绍 kali启动主控端 1.启动以及设置载荷等配置 漏洞检测…

Linux 开机自动挂载硬盘

在日常使用 Linux 系统的过程中,我们可能需要挂载一些机械硬盘或者移动硬盘来存储数据。手动挂载虽然简单,但每次重启后都需要重新操作,未免有些繁琐。那么,如何让硬盘在开机时自动挂载呢?本篇博客将详细介绍如何通过配…

GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)

文章目录 一、概述二、数据中心(DC)2.1 数据中心简介2.2 传统数据中心的网络模型2.3 脊叶网络模型(Spine-Leaf)2.4 Facebook的Fabric网络架构 三、基于数据中心的多机多卡拓扑3.1 Spine-Leaf 架构网络规模测算方法3.2 NVIDIA多机多…

基于 GADF+Swin-CNN-GAM 的高创新扰动信号识别模型!

往期精彩内容: Python-电能质量扰动信号数据介绍与分类-CSDN博客 Python电能质量扰动信号分类(一)基于LSTM模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(三)基于Transformer的一…

【QNAP威联通NAS系统恢复进阶教程】如果 .conf 和 md9 无法自动组装,如何恢复 NAS?

创作立场:原创不易,拒绝搬运~ hello大家好,我是你们的老伙伴,稳重的大王~ 从本期开始,大王将在日常教程中,分享一些QNAP系统故障的排除以及解决办法,进阶教程需要具备一定的linux基础&#xf…

一年期免费HTTPS证书:网络安全新选择

HTTPS证书的重要性 HTTPS证书,全称为安全套接字层/传输层安全协议证书,是一种在互联网上建立安全连接的数字证书。它通过公钥加密技术,对网站和用户之间的数据传输进行加密,有效防止数据被窃取或篡改,保障用户信息的安…