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

相关推荐
chao18984410 分钟前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
赏金术士25 分钟前
Kotlin 习题集 · 高级篇
android·开发语言·kotlin
Cat_Rocky1 小时前
k8s-持久化存储,粗浅学习
java·学习·kubernetes
楼兰公子1 小时前
buildroot 在编译rust时裁剪平台类型数量的方法
开发语言·后端·rust
AOwhisky2 小时前
虚拟化技术学习笔记
linux·运维·笔记·学习·虚拟化技术
吴声子夜歌2 小时前
Go——并发编程
开发语言·后端·golang
一只机电自动化菜鸟2 小时前
一建机电备考笔记(33) 机电专业技术(起重技术-吊装方案)(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
ooseabiscuit2 小时前
Laravel4.x:现代PHP框架的奠基之作
java·开发语言·php
吃好睡好便好3 小时前
博客等级升级啦
学习
小新同学^O^3 小时前
简单学习 --> Spring事务
数据库·学习·spring