【Rust】Rust环境配置与语法基础

😏★,° :.☆( ̄▽ ̄)/$:.°★ 😏

这篇文章主要介绍Rust环境配置与语法基础。
学其所用,用其所学。------梁启超

欢迎来到我的博客,一起学习,共同进步。

喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • [:smirk:1. Rust介绍](#:smirk:1. Rust介绍)
    • [:blush:2. 环境安装与配置](#:blush:2. 环境安装与配置)
    • [:satisfied:3. 应用示例](#:satisfied:3. 应用示例)

😏1. Rust介绍

Rust是一种创新型的系统编程语言,由Mozilla研发。它将C++的高性能和控制力与安全性、并发性和现代语言设计相结合。

官网:https://www.rust-lang.org/

Rust具有以下特点:

1.零成本抽象: Rust允许编写高层次的抽象代码,同时不会对性能产生影响;
2.安全保障: Rust通过语言级别的静态内存管理和所有权模型来避免常见的内存安全问题;
3.并发支持: Rust提供了多线程编程的支持,并且可以避免锁的使用和线程竞争问题;
4.高性能: Rust通过内联汇编、去除垃圾回收等技术实现了C++级别的性能;
5.生态丰富: Rust生态系统中有大量优秀的第三方库支持,可以满足不同领域的需求;

综上,Rust是一种用于构建高性能、可靠和安全的系统级应用程序的语言。它旨在成为下一个系统编程语言的首选。目前,Rust已经被广泛应用于各种领域,包括Web开发、游戏开发、网络应用和嵌入式设备等。

😊2. 环境安装与配置

Rust安装:

bash 复制代码
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 安装完成后,rustup会显示完整的安装路径,包括cargo(Rust的构建工具)和rustc(Rust编译器)
# 生效环境
source $HOME/.cargo/env
# 查看版本号
rustc --version
cargo --version

国内源配置(在.cargo创建config,将配置写入,否则cargo build会出错):

bash 复制代码
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

replace-with = 'tuna'
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

#replace-with = 'ustc'
#[source.ustc]
#registry = "git://mirrors.ustc.edu.cn/crates.io-index"

[net]
git-fetch-with-cli = true

😆3. 应用示例

helloworld示例:

bash 复制代码
cargo new hello-rust
# 生成目录如下
hello-rust
|- Cargo.toml # 编译文件
|- src
  |- main.rs # 源文件
cargo run

添加ferris-says依赖示例:

bash 复制代码
cargo add ferris-says
# main.rs写入
cargo build
cargo run
rust 复制代码
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, width, &mut writer).unwrap();
}

以上。

相关推荐
马良神笔15 分钟前
2026 年Rag最近技术前沿总结
后端·python·django
程序猿DD15 分钟前
同样10美元,OpenDesign和Command Code的DeepSeek V4.1 Flash额度到底有多少?
后端
高频因子挖掘机44 分钟前
A股量化从日线升级到5分钟线:数据量增加后最先暴露哪些工程问题?
后端·github·api
高频因子挖掘机1 小时前
历史行情返回顺序变了,为什么按行号计算指标很危险?
后端·github·api
益莱储中国1 小时前
深度解析:RF 实验室从 5G迈向 6G 的过程中保持技术领先与设备升级的路径
开发语言·php
benchmark_cc2 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
const_qiu2 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 个人资料管理的更新接口实现与坑
java·开发语言·交友
团子哒哒3 小时前
数组、切片和Map
后端
专注仿真3 小时前
ThinkPHP6 API接口开发实例:从零搭建RESTful风格接口
后端·php·restful