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

相关推荐
Gerardisite5 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
Want5955 小时前
C/C++跳动的爱心①
c语言·开发语言·c++
lingggggaaaa5 小时前
免杀对抗——C2远控篇&C&C++&DLL注入&过内存核晶&镂空新增&白加黑链&签名程序劫持
c语言·c++·学习·安全·网络安全·免杀对抗
coderxiaohan6 小时前
【C++】多态
开发语言·c++
gfdhy6 小时前
【c++】哈希算法深度解析:实现、核心作用与工业级应用
c语言·开发语言·c++·算法·密码学·哈希算法·哈希
陈天伟教授6 小时前
基于学习的人工智能(5)机器学习基本框架
人工智能·学习·机器学习
我先去打把游戏先6 小时前
ESP32学习笔记(基于IDF):基于OneNet的ESP32的OTA功能
笔记·物联网·学习·云计算·iphone·aws
初願致夕霞6 小时前
学习笔记——基础hash思想及其简单C++实现
笔记·学习·哈希算法
Eiceblue6 小时前
通过 C# 将 HTML 转换为 RTF 富文本格式
开发语言·c#·html
故渊ZY6 小时前
Java 代理模式:从原理到实战的全方位解析
java·开发语言·架构