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(锈)通常由铁形成, 因此它算得上是个吉祥物名字的有趣来源。

相关推荐
doiito4 小时前
【Agent Harness】TPS的“自工程完结”教会了我一件事:别把Bug留给下一道工序
架构·rust
doiito14 小时前
【Agent Harness】Gliding Horse 记忆系统深度剖析:像 CPU 一样思考的 AI 记忆架构
ai·rust·架构设计·系统设计·ai agent
doiito1 天前
【Agent Harness】Gliding Horse 给 Agent OS 装上双曲空间引擎与默克尔树边云同步
ai·rust·架构设计·系统设计·ai agent
doiito2 天前
【Agent Harness】Gliding Horse 本体论系统设计:给 AI Agent 装上“语义大脑”
ai·rust·架构设计·系统设计·ai agent
大卫小东(Sheldon)3 天前
Rust 推荐使用宏而非普通函数的场景
rust
doiito3 天前
【Agent Harness】为什么我把 JSON‑LD “编译成 DAG” 后,整个 Agent 平台立刻聪明了
ai·rust·架构设计·系统设计·ai agent
jump_jump3 天前
为了重玩金庸群侠传,我研究了一下 Ruffle 怎么复活 Flash
游戏·rust·github
星栈5 天前
Dioxus 多页面怎么做:`dioxus-router`、嵌套路由、`Outlet` 和页面组织,一篇给你讲顺
前端·rust·前端框架