快速配置 Rust 开发环境并编写一个小应用

简介: 快速配置 Rust 开发环境并编写一个小应用

安装:


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


更新:


Rust 的升级非常频繁. 如果安装 Rustup 后已有一段时间,那么很可能 Rust 版本已经过时, 运行 rustup update 获取最新版本的 Rust

微信截图_20230801213643.png

rustc:编译Rust程序

微信截图_20230801213654.png

rustc只适合简单的Rust程序,较大型的项目还是推荐使用Cargo


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


在安装 Rustup 时, 也会安装 Rust 构建工具和包管理器的最新稳定版,即 Cargo.

Cargo 可以做很多事情:

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


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

cargo --version


cargo run

微信截图_20230801213757.png

cargo check

微信截图_20230801213812.png

cargo build --release

微信截图_20230801213842.png

cargo install

在Mac上,Cargo可以像brew一样,安装很多Rust写的工具,如安装一款可能比Tmux还要好用的终端工具zellij:

cargo install zellij



为编辑器安装Rust插件:

微信截图_20230801213855.png

创建新项目:


cargo new hello-rust

这会生成一个名为 hello-rust 的新目录, 其中包含以下文件:

微信截图_20230801213922.png

其中, Cargo.toml 为 Rust 的清单文件, 包含了项目的元数据和依赖库

src/main.rs 为编写应用代码的地方


进入项目中,执行 cargo run

微信截图_20230801213938.png

添加依赖:


在 Rust 中, 通常把包称作 crates

可以在 crates.io, 即 Rust 包的仓库中找到所有类别的库

(包和库,可以认为是一回事)


此处使用名为 ferris-says 的库.

Cargo.toml 文件中添加以下信息:

(从 crate 页面上获取)

[dependencies]
ferris-says = "0.2"

微信截图_20230801214020.png

(点击这个小图标,就会跳到这个包的官方地址)

微信截图_20230801214031.png

然后运行:

cargo build

Cargo 就会安装该依赖.

(运行此命令会创建一个新文件 Cargo.lock, 该文件记录了本地所用依赖库的精确版本. 类似于yarn.lock)


编写应用:


main.rs 中:

use std::io::{BufWriter, stdout};
use ferris_says::say;
fn main() {
    let stdout = stdout();
    let message = String::from("Hello fellow Rustaceans! --- by shuang");
    let width = message.chars().count();
    let mut writer = BufWriter::new(stdout.lock());
    say(message.as_bytes(), width, &mut writer).unwrap();
}

执行 cargo run:

微信截图_20230801214125.png

了解更多:


Ferris 是 Rust 社区的 非官方吉祥物.

很多 Rust 程序员自称 Rustaceans, 它与crustacean(甲壳纲动物) 相似

建议用“they”、“them”等代词, 而不用带性别的代词来指代 Ferris

Ferris 与形容词 ferrous(adj. [化学] 亚铁的;铁的,含铁的) 相似, 其的含义与铁有关.

由于 Rust(锈)通常由铁形成,  因此算得上是这个吉祥物名字的有趣来源

微信截图_20230801214141.png


目录
相关文章
|
4月前
|
Rust JavaScript 前端开发
【一起学Rust】Rust介绍与开发环境搭建
【一起学Rust】Rust介绍与开发环境搭建
132 0
|
SQL 人工智能 Rust
使用VScode搭建Rust开发环境
使用VScode搭建Rust开发环境
使用VScode搭建Rust开发环境
|
2月前
|
Rust 监控 数据安全/隐私保护
Rust语言在员工屏幕监控系统中的应用指南
员工屏幕监控系统在现代企业管理中扮演着重要角色。它们能够帮助企业监控员工的活动,确保他们的工作效率和数据安全。在这篇文章中,我们将探讨如何使用Rust语言构建一个简单而高效的员工屏幕监控系统,并提供一些代码示例以帮助你入门。
118 0
|
3月前
|
Rust 安全 开发者
Rust中的元编程概念与应用
本文将深入探讨Rust编程语言中的元编程概念,包括宏、特性、元组和元函数等,并展示它们在Rust中的实际应用。元编程允许开发者在编译时操纵代码,实现代码生成、条件编译、类型检查等高级功能。通过本文的讲解,读者将能够更好地理解元编程在Rust中的作用,并学会如何在项目中应用元编程技术。
|
3月前
|
Rust 监控 算法
Rust中的系统性能监控与调优:提升应用效能的关键实践
随着Rust在系统级编程中的广泛应用,性能监控与调优变得尤为关键。本文介绍了在Rust中实施系统性能监控的方法,探讨了Rust应用的性能瓶颈,并提供了调优策略与最佳实践,旨在帮助开发者更有效地提升Rust应用的性能。
|
3月前
|
Rust 安全 物联网
Rust在嵌入式系统中的应用:开辟安全高效的新天地
随着物联网(IoT)和嵌入式系统的快速发展,Rust编程语言正逐渐在这些领域中崭露头角。本文旨在探讨Rust为何适合嵌入式系统开发,并深入分析其在安全性、性能和内存管理方面的优势。通过几个实际应用案例,展示Rust如何助力嵌入式系统迈向更安全、更高效的未来。
|
3月前
|
Rust 安全 开发者
Rust在操作系统组件开发中的应用:设备驱动与系统服务
本文探讨了Rust在系统级开发中的潜力,特别是针对操作系统组件如设备驱动和系统服务的开发。我们将分析Rust为何适合这些任务,展示其在实际项目中的应用,并讨论其面临的挑战和未来的可能性。
|
3月前
|
Rust 编译器 Linux
Rust编译过程讲解与开发环境准备
目前主流编译平台有,GNU、MSVC、LLVM。因为rustc调用了llvm,因此我们以LLVM为例,我们从C语言的编译过程聊,再对比Rust,看它们的编译过程有何差异。
160 3
|
4月前
|
存储 设计模式 人工智能
Rust 笔记:有限状态机原理/状态模式 及其 在Rust 编程中的应用
Rust 笔记:有限状态机原理/状态模式 及其 在Rust 编程中的应用
118 0
|
4月前
|
机器学习/深度学习 Rust JavaScript
Rust 笔记:Rust 语言中应用正则表达式
Rust 笔记:Rust 语言中应用正则表达式
171 1