【跟小嘉学 Rust 编程】一、Rust 编程基础

news2024/9/24 11:28:07

系列文章目录

【跟小嘉学 Rust 编程】一、Rust 编程基础

文章目录

  • 系列文章目录
  • 前言
  • 一、Rust是什么?
  • 二、Rust 开发环境搭建
    • 2.1、下载地址
    • 2.2、Windows 环境安装 可以参考
    • 2.3、Mac 环境安装
      • 2.3.1、安装步骤
      • 2.3.2、执行完上述命令之后,有如下提示
    • 2.4、安装完成之后检查
  • 三、Rust 提供的命令介绍
  • 四、Hello World
    • 4.1、创建目录和 main.rs 文件
    • 4.2、 编辑 main. rs 文件
    • 4.3、编译运行
  • 五、包管理工具(cargo)
    • 5.1、Cargo 工具的介绍
    • 5.2、Rust 项目目录结构介
  • 总结


前言

本系列旨在分享 Rust 学习心得,适合初学者入门,后续系列会有 Rust 项目实战系列编程介绍。

主要教材参考 《The Rust Programming Language》


一、Rust是什么?

Rust 是一门新的编程语言,它可以让每个人编写可靠且高效的程序,使用于需要运行时速度、需要内存安全、更好的l利用多处理器的场景,适合用于做 cli apps、Web Servers等开发。

Linux 内核慢慢在集成 rust的支持;

Rust 特别擅长的领域:

  • 高性能web service;
  • Web Assembly
  • 命令行工具
  • 网络编程
  • 嵌入式设备
  • 系统编程

二、Rust 开发环境搭建

2.1、下载地址

Rust 的编译具依赖于 C 语言的编译工具,意味着你的电脑至少存在一个 C 语言的编译环境,如果你使用的 Linux 环境,往往已经具备了 GCC 或者 clang。

下载地址:https://www.rust-lang.org/tools/install

如果你是 Windows 环境,我建议实用 Linux 虚拟机来学习,避免出现问题,当然如果你熟悉也可以使用试着下列步骤

2.2、Windows 环境安装 可以参考

https://www.runoob.com/rust/rust-setup.html

2.3、Mac 环境安装

Mac 环境需要 Xcode;

2.3.1、安装步骤

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

2.3.2、执行完上述命令之后,有如下提示

Current installation options:

default host triple: x86_64-apple-darwin
default toolchain: stable (default)
profile: default
modify PATH variable: yes

1) Proceed with installation (default) # 默认
2) Customize installation # 自定义安装
3) Cancel installation # 取消安装

2.4、安装完成之后检查

rustc -V # 查看 rust 编译器的版本
cargo -V # 查看 cargo 的版本

现实结果如图所示
在这里插入图片描述

我们开发工具使用 VSCODE,需要安装几个插件。

  • Rust Extension Pack
  • Rust Syntax
  • Native Debug

三、Rust 提供的命令介绍

# 更新 rust
rustup update 
# 卸载
rustup self uninstall
# 查看 rust 版本号
rustc --version 
rustc -V 

# 查看本地 rust 文档
rustup doc

# 代码格式化工具
rustfmt

四、Hello World

4.1、创建目录和 main.rs 文件

需要注意 rust 代码文件以 .rs 结尾

# 1、创建目录
mkdir -p ~/Desktop/code/rust_code/helloworld
# 2、切换工作目录
cd ~/Desktop/code/rust_code/helloworld
# 3、创建文件
touch main.rs

4.2、 编辑 main. rs 文件

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

4.3、编译运行

# 1、编译
rustc main.rs 

# 2、运行 执行结果在 终端输出 Hello, world!
./main

五、包管理工具(cargo)

5.1、Cargo 工具的介绍

# 1、查看版本 
cargo --version

# 2、创建项目
cargo new hello

# 3、编译
cd hello
cargo build

# 4、运行
cargo run

# 5、检查代码语法
cargo check

# 6、编译release 版本
cargo build --release

# 7、更新依赖版本
cargo update

5.2、Rust 项目目录结构介

目录描述
src源代码目录
src/main.rs主程序入口文件
target目标路径
.gitignoregit 忽略文件
.Cargo.lockcargo包管理的文件锁
Cargo.tomltoml文件定义了包的名字、版本、编辑时间,以及依赖的包版本信息等

总结

以上就是今天要讲的内容

  • 1、本文介绍了 rust 开发环境的安装与基本命令(rustc/rustup)
  • 2、第一个程序的编译和运行(rustc);
  • 3、包管理工具(cargo)的使用

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

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

相关文章

深度学习----第J1周:ResNet50算法实战

深度学习----第J1周:ResNet50算法实战 🍨 本文为🔗365天深度学习训练营 中的学习记录博客** 参考文章:Pytorch实战 | 第P5周:运动鞋识别**🍖 原作者:K同学啊|接辅导、项目定制 文章目录 深度学习…

Elasticsearch 分词器

前奏 es的chinese、english、standard等分词器对中文分词十分不友好,几乎都是逐字分词,对英文分词比较友好。 在kibana的dev tools中测试分词: POST /_analyze {"analyzer": "standard","text": "你太…

chatgpt赋能python:Python文件导出方法详解

Python文件导出方法详解 Python是一种高级编程语言,广泛应用于各种数据科学、人工智能、Web开发等领域。在Python开发中,我们需要将处理好的数据与结果输出为合适的格式,文件导出是常见的输出方式之一。在本文中,我们将详细介绍P…

【C++篇】C++的输入和输出

友情链接:C/C系列系统学习目录 知识总结顺序参考C Primer Plus(第六版)和谭浩强老师的C程序设计(第五版)等,内容以书中为标准,同时参考其它各类书籍以及优质文章,以至减少知识点上的…

chatgpt赋能python:Python整人代码大全

Python整人代码大全 作为一名有10年Python编程经验的工程师,我深知Python这门编程语言广泛应用于各种领域,包括网络编程、数据分析、人工智能等等。然而,Python同样也有着一些有趣的应用,比如用来整人。 在这篇文章中&#xff0…

[设计模式] OOP六大原则

文章目录 前言1、六大原则1.1、单一职责原则1.2、开闭原则1.3、里氏替换原则1.4、依赖倒置原则1.5、接口隔离原则1.6、迪米特原则 前言 Object Oriented Programming 面向对象编程 1、六大原则 1.1、单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。应…

MIT 6.S081 (BOOK-RISCV-REV1)教材第四章内容 -- 下

MIT 6.S081 教材第四章内容 -- 下 引言从内核空间陷入页面错误异常Page Fault BasicsLazy page allocationZero Fill On DemandCopy On Write ForkDemand PagingMemory Mapped Files 真实世界 引言 MIT 6.S081 2020 操作系统 本文为MIT 6.S081课程第四章教材内容翻译加整理。…

机器人工程创新类课程补充说明-2023-

内容仅供参考,不严谨。 案例: 在f1tenth仿真中如何实现更快速的跑圈-曲线分析篇 所有课程其实主动权永远都掌握在学生手中,愿意学的会多花时间自主研究(主动学习),不愿意的就会用一些独特手段应付&#xf…

硬件入门之什么是电感

硬件入门之什么是电感 文章目录 硬件入门之什么是电感一、电感是什么?电感在电路中的作用:通直流隔交流,防止电流突变,储能。 二、实际应用场景常见电容:1.贴片电感(无正负极之分)2、变压器&…

第六章 MobileNetv1网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

chatgpt赋能python:Python文件怎么改名:简单易用的方法

Python文件怎么改名:简单易用的方法 在Python开发中,文件的重命名是一个经常用到的操作。无论是更改文件名还是批量重命名,在Python中都可以非常轻松地实现。本文将介绍三种不同的方法来改变Python文件的名称。 方法一:使用os模…

哔哩下载姬 - DownKyi

这款开源工具小编自己还是蛮喜欢的,有兴趣的小伙伴可以体验学习下。 一、简单介绍 Downkyi是一个极其便捷的开源工具,专为Bilibili视频下载而设计。它拥有一个简洁、直观的界面,操作逻辑流畅无比。Downkyi能够下载几乎所有B站视频&#xff0…

11.创建CentOS虚拟机

创建不同类型的实例虚拟机,我们是需要根据需求来准备镜像上传到glance,注意 ISO 镜像上传上去是没法直接使用的,需要将 ISO 镜像转变成qcow2磁盘文件,然后上传磁盘文件,就可以创建云主机。 官方镜像仓库地址&#xff1…

FBM237 RH914XS而且控制部件采用冗余容错技术,运行可靠性提高

​ FBM237 RH914XS而且控制部件采用冗余容错技术,运行可靠性提高 FBM237 RH914XS而且控制部件采用冗余容错技术,运行可靠性提高 概述 dcs系统与其他计算机设备是由电子元件和大规模集成电路构成,结构紧密,而且控制部件采用冗余容错技术,运行可靠性提高。…

人工智能气象一:深度学习预测浅水方程模式

查看原文>>>基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用能力 目录 专题一、Python软件的安装及入门 专题二、气象常用科学计算库 专题三、气象海洋常用可视化库 专题四、爬虫和气象海洋数据 专题五、气象海洋常用插值方法 专题六、机器…

AIGC下的CV多模态原理解析:从CLIP/BLIP到stable diffusion/Midjourney、GPT4

前言 终于开写本CV多模态系列的核心主题:stable diffusion相关的了,为何执着于想写这个stable diffusion呢,源于三点 去年stable diffusion和midjourney很火的时候,就想写,因为经常被刷屏,但那会时间错不…

RabbitMQ入门案例之Work模式

前言 本文章将介绍RabbitMQ的Work模式,其中这个模式又细分为轮询分发和公平分发,本文将会用Java代码结合RabbitMQ的web管理界面进行实操演示。 官网文档地址:https://rabbitmq.com/getstarted.html 什么是Work模式 RabbitMQ的Work模式是一种…

ActiveX控件打包成Cab置于网页中自动下载安装

[背景] 做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必须进行本地的注册,也就是说用户得首先要把该ActiveX控件(test.ocx)放在本机的%system%/system32下,然后运行DOS工具…

Linux:第四章课后习题及答案

第四章 目录和文件管理 Q1:Linux系统中有哪些文件类型 Linux文件类型常见的有:普通文件、目录 文件、设备文件(字符设备文件和块设备 文件)、管道文件和符号链接文件等。普通文件 用“ls -lh”命令查看某个文件的属性&#xff0…

Docker 部署 分布式搜索引擎 Elastic Search

文章目录 ⛄引言一、使用Elastic Search 的好处二、部署ES⛅部署kibana⚡部署分词器 三、词典扩展与停用⛅扩展词典⚡停用词典 ⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮…