rust学习(第一章)

目录

    • 安装环境
    • 添加依赖
    • [一个 Rust 小应用](#一个 Rust 小应用)
    • [这只螃蟹是谁? Ferris ?](#这只螃蟹是谁? Ferris ?)

安装环境

  1. 安装rust
    https://rust.p2hp.com/tools/install

建议直接选默认选项

安装可能有点慢,看网络情况

  1. hello world
    打开cmd
    输入cargo new hello-rust
    这会生成一个名为 hello-rust 的新目录,其中包含以下文件:
bash 复制代码
hello-rust
|- Cargo.toml
|- src
  |- main.rs

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

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

进入hello-rust文件,输入cargo run

如果出现linker link.exe not found,请安装Visual Studio build tools

  1. 打开vscode,安装插件rust and friend
  2. 打开终端,输入cargo run,出现hello world,恭喜你,环境配置成功

添加依赖

  1. 在 Cargo.toml 文件中添加以下信息(从 crate 页面上获取):
rust 复制代码
[dependencies]
ferris-says = "0.2"

接着运行:cargo build,之后 Cargo 就会安装该依赖。

  1. 运行此命令会创建一个新文件 Cargo.lock,该文件记录了本地所用依赖库的精确版本。
    要使用该依赖库,我们可以打开 main.rs,删除其中所有的内容(它不过是个示例而已),然后在其中添加下面这行代码:
base 复制代码
use ferris_says::say;

这样我们就可以使用 ferris-says crate 中导出的 say 函数了。

一个 Rust 小应用

  1. main.rs 中添加以下代码:
bash 复制代码
use ferris_says::say; // from the previous step
use std::io::{stdout, BufWriter};

fn main() {
    let stdout = stdout();
    let message = String::from("Hello fellow Rustaceans!");
    let width = message.chars().count();

    let mut writer = BufWriter::new(stdout.lock());
    say(message.as_bytes(), width, &mut writer).unwrap();
} 
  1. 保存完毕后,我们可以输入以下命令来运行此应用:
    cargo run
  2. 如果一切正确,您会看到该应用将以下内容打印到了屏幕上:
bash 复制代码
----------------------------
< Hello fellow Rustaceans! >
----------------------------
              \
               \
                 _~^~^~_
             \) /  o o  \ (/
               '_   -   _'
               / '-----' \

这只螃蟹是谁? Ferris ?

Ferris 是 Rust 社区的非官方吉祥物。很多 Rust 程序员自称"Rustaceans", 它与"crustacean"相似。 我们用"they"、"them"等代词,而不用带性别的代词来指代 Ferris。

Ferris 与形容词"ferrous"相似,它的含义与铁有关。由于 Rust(锈)通常由铁形成, 因此它算得上是个吉祥物名字的有趣来源。

相关推荐
Gorgous—l23 分钟前
数据结构算法学习:LeetCode热题100-矩阵篇(矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵 II)
数据结构·学习·算法
eggcode27 分钟前
Vue前端开发学习的简单记录
vue.js·学习
你也渴望鸡哥的力量么31 分钟前
爬虫学习笔记
笔记·爬虫·学习
郝学胜-神的一滴37 分钟前
Python中的鸭子类型:理解动态类型的力量
开发语言·python·程序人生·软件工程
日更嵌入式的打工仔42 分钟前
InitLWIP() 初始化
笔记·嵌入式硬件·学习
QAQ小菜鸟1 小时前
AutoCAD如何将指定窗口导出成PDF?
学习
猫头虎1 小时前
如何解决 pip install -r requirements.txt extras 语法 ‘package[extra’ 缺少 ‘]’ 解析失败问题
开发语言·python·开源·beautifulsoup·virtualenv·pandas·pip
zhangfeng11331 小时前
R语言 读取tsv的三种方法 ,带有注释的tsv文件
开发语言·r语言·生物信息
eqwaak01 小时前
动态图表导出与视频生成:精通Matplotlib Animation与FFmpeg
开发语言·python·ffmpeg·音视频·matplotlib
刘新明19892 小时前
Frida辅助分析OLLVM虚假控制流程(下)
java·开发语言·前端