当前位置: 首页 > news >正文

【rust】rust基础代码案例

文章目录

  • 代码篇
    • HelloWorld
    • 斐波那契数列
    • 计算表达式(加减乘除)
    • web接口
  • 优化篇
    • target/目录占用一个g,仅仅一个actix的helloWorld demo
    • 升级rust版本, 通过rustup
    • cargo换源
    • windows下放弃吧,需要额外安装1g的toolchain并且要配合msvc(10g起步吧)或者mingw。

代码篇

HelloWorld

fn main() {print!("Hello,Wolrd")
}

斐波那契数列

fn fib(n: u64) -> u64 {let mut a = 0;let mut b = 1;for _ in 0..n {let c = a + b;a = b;b = c;}a
}fn main() {let n = 10;let result_list: Vec<String> = (1..n+1).map(|i| fib(i).to_string()).collect();let result = result_list.join(",");println!("{}", result);
}

计算表达式(加减乘除)

use std::io;
use std::num::ParseIntError;
fn parse_expression(expression: &str) -> Result<i32, ParseIntError> {let mut result = 0;let mut current_number = 0;let mut operator = '+';for token in expression.split_whitespace() {match token {"+" => operator = '+',"-" => operator = '-',"*" => operator = '*',"/" => operator = '/',_ => {current_number = match token.parse::<i32>() {Ok(num) => num,Err(e) => return Err(e),};match operator {'+' => result += current_number,'-' => result -= current_number,'*' => result *= current_number,'/' => result /= current_number,_ => {},}}}}Ok(result)
}
fn main() {println!("请输入表达式(例如:1 + 2 * 3):");let mut input = String::new();io::stdin().read_line(&mut input).expect("读取输入失败");let expression = input.trim();match parse_expression(expression) {Ok(result) => println!("计算结果为:{}", result),Err(e) => println!("解析表达式时出错:{}", e),}
}

web接口

use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder};#[get("/")]
async fn hello() -> impl Responder {HttpResponse::Ok().body("Hello world!")
}#[post("/echo")]
async fn echo(req_body: String) -> impl Responder {HttpResponse::Ok().body(req_body)
}async fn manual_hello() -> impl Responder {HttpResponse::Ok().body("Hey there!")
}#[actix_web::main]
async fn main() -> std::io::Result<()> {HttpServer::new(|| {App::new().service(hello).service(echo).route("/hey", web::get().to(manual_hello))}).bind(("127.0.0.1", 8080))?.run().await
}

优化篇

target/目录占用一个g,仅仅一个actix的helloWorld demo

~/.cargo/config写入, 放到项目之外去,眼不见心不烦

[build]
target-dir = "/path/rust-target"

在这里插入图片描述
不过一个demo 接口, 你执行下cargo run 和 cargo build --release, 就占用1.2g。 这可真烧磁盘, 有node_module那味儿了。

升级rust版本, 通过rustup

export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"
rustup update

cargo换源

~/.cargo/config写入

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index/"

windows下放弃吧,需要额外安装1g的toolchain并且要配合msvc(10g起步吧)或者mingw。

在这里插入图片描述
比linux下的工具链大多了
在这里插入图片描述

相关文章:

【rust】rust基础代码案例

文章目录 代码篇HelloWorld斐波那契数列计算表达式&#xff08;加减乘除&#xff09;web接口 优化篇target/目录占用一个g&#xff0c;仅仅一个actix的helloWorld demo升级rust版本&#xff0c; 通过rustupcargo换源windows下放弃吧&#xff0c;需要额外安装1g的toolchain并且要…...

【深度学习】PromptFix:多功能AI修图

PromptFix:你来提示,我们修图 NeurIPS 2024 最近,在计算机视觉和图像处理领域,一个名为PromptFix的新项目引起了广泛关注。PromptFix是一个基于PyTorch实现的开源项目,旨在根据用户的自然语言指令,对受损或需要处理的图像进行智能修复和优化。 本文将详细介绍PromptFix…...

2024最新AI绘画系统软件(Midjourney)+GPT4文档分析总结,多模态识图理解,AI文生图/图生图/混图生图(图像混合)

一、前言 人工智能的快速发展已成为全球关注的焦点&#xff0c;其应用领域广泛&#xff0c;涵盖绘图、语言处理、视频编辑等。前沿技术不仅推动科技创新&#xff0c;还在艺术创作、内容生产和商业实践等方面展示出巨大潜力。例如&#xff0c;AI语言模型显著提升了内容自动生成、…...

【信号处理】基于联合图像表示的深度学习卷积神经网络

Combined Signal Representations for Modulation Classification Using Deep Learning: Ambiguity Function, Constellation Diagram, and Eye Diagram 信号表示 Ambiguity Function(AF) 模糊函数描述了信号的两个维度(dimensions):延迟(delay)和多普勒(Doppler)。 …...

C#基础-区分数组与集合

目录 区分数组与集合 1.定义 1&#xff09;数组 2&#xff09;集合 2.大小 1&#xff09;数组 2&#xff09;集合 3.访问速度 1&#xff09;数组 2&#xff09;集合 4.内存管理 1&#xff09;数组 2&#xff09;集合 5.使用场景 1&#xff09;数组 2&#xff0…...

ORACLE 19C 安装数据库补丁的详细过程

ORACLE 19c安装DB补丁&#xff1a; 1 确定OPatch的可用性&#xff1a;这里需要注意的是p6880880_190000_Linux-x86-64.zip是有版本对应区别的&#xff0c;需要注意你要打的补丁版本是否支持。 2 将原$ORACLE_HOME目录下的OPatch目录删除或者改名&#xff0c;比如说&#xff1a…...

tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 本次采用VGG16模型进行预测&#xff0c;准确率达到了98.875&#xff0c;但是修改VGG16网络结构&#xff0c; 准确率达到了0.9969&#xff0c;并且计算量…...

代码中的设计模式-策略模式

假如我们有一段代码,有很多的if else function executeAction(type) {if (type A) {console.log(Action A);} else if (type B) {console.log(Action B);} else if (type C) {console.log(Action C);} else {console.log(Unknown action);} }executeAction(A); // 输出: Ac…...

后端Node学习项目-项目基础搭建

前言 各位好&#xff0c;我是前端SkyRain。最近为了响应公司号召&#xff0c;开始对后端知识的学习&#xff0c;作为纯粹小白&#xff0c;记录下每一步的操作流程。 项目仓库&#xff1a;https://gitee.com/sky-rain-drht/drht-node 因为写了文档&#xff0c;代码里注释不是很…...

Python | Leetcode Python题解之第538题把二叉搜索树转换为累加树

题目&#xff1a; 题解&#xff1a; class Solution:def convertBST(self, root: TreeNode) -> TreeNode:def getSuccessor(node: TreeNode) -> TreeNode:succ node.rightwhile succ.left and succ.left ! node:succ succ.leftreturn succtotal 0node rootwhile nod…...

【ZeroMQ 】ZeroMQ中inproc优势有哪些?与其它传输协议有哪些不同?

inproc 是 ZeroMQ 提供的一种传输协议&#xff0c;用于在同一进程内的不同线程之间进行高效的通信。与其他传输协议&#xff08;如 tcp、ipc 等&#xff09;不同&#xff0c;inproc 专门针对线程间通信进行了优化&#xff0c;具有极低的延迟和开销。以下是 inproc 的底层原理和…...

spark的学习-03

RDD的创建的两种方式&#xff1a; 方式一&#xff1a;并行化一个已存在的集合 方法&#xff1a;parallelize 并行的意思 将一个集合转换为RDD 方式二&#xff1a;读取外部共享存储系统 方法&#xff1a;textFile、wholeTextFile、newAPIHadoopRDD等 读取外部存储系统的数…...

一文了解Android SELinux

在Android系统中&#xff0c;SELinux&#xff08;Security-Enhanced Linux&#xff09;是一个增强的安全机制&#xff0c;用于对系统进行强制访问控制&#xff08;Mandatory Access Control&#xff0c;MAC&#xff09;。它限制了应用程序和进程的访问权限&#xff0c;提供了更…...

数据血缘追踪是如何在ETL过程中发挥作用?

在大数据环境下&#xff0c;数据血缘追踪具有重要意义&#xff0c;它能够帮助用户了解数据的派生关系、变换过程和使用情况&#xff0c;进而提高数据的可信度和可操作性。通过数据血缘追踪&#xff0c;ETL用户可以准确追溯数据的来源&#xff0c;快速排查数据异常和问题。 一、…...

跟我学C++中级篇——生产中如何调试程序

一、程序的BUG和异常 程序不是发布到生产环境就万事大吉了。没有人敢保证自己写的代码没有BUG&#xff0c;放心&#xff0c;说这种话的人&#xff0c;基本可以断定是小白。如果在开发阶段出现问题&#xff0c;还是比较好解决的&#xff0c;但是如果真到了生产上&#xff0c;可…...

Python爬虫实战 | 爬取网易云音乐热歌榜单

网易云音乐热歌榜单爬虫实战 环境准备 Python 3.xrequests 库BeautifulSoup 库 安装依赖 pip install requests beautifulsoup4代码 import requests from bs4 import BeautifulSoupdef get_cloud_music_hot_songs():url "http://music.163.com/#/discover/playlist…...

apk因检测是否使用代理无法抓包绕过方式

最近学习了如何在模拟器上抓取APP的包&#xff0c;APP防恶意行为的措施可分为三类&#xff1a; &#xff08;1&#xff09;反模拟器调试 &#xff08;2&#xff09;反代理 &#xff08;3&#xff09;反证书检验 第一种情况&#xff1a; 有的app检验是否使用系统代理&#xff0c…...

DevOps业务价值流:架构设计最佳实践

系统设计阶段作为需求与研发之间的桥梁&#xff0c;在需求设计阶段的原型设计评审环节&#xff0c;尽管项目组人员可能未完全到齐&#xff0c;但关键角色必须到位&#xff0c;包括技术组长和测试组长。这一安排旨在同步推进两项核心任务&#xff1a;一是完成系统的架构设计&…...

计算机网络——SDN

分布式控制路由 集中式控制路由...

开源数据库 - mysql - innodb源码阅读 - master线程(一)

master struct /** The master thread controlling the server. */void srv_master_thread() {DBUG_TRACE;srv_slot_t *slot; // 槽位THD *thd create_internal_thd(); // 创建内部线程ut_ad(!srv_read_only_mode); //断言 srv_read_only_mode 为 falsesrv_main_thread_proce…...

vscode ssh连接autodl失败

autodl服务器已开启&#xff0c;vscode弹窗显示连接失败 0. 检查状态 这里的端口和主机根据自己的连接更改 ssh -p 52165 rootregion-45.autodl.pro1. 修改config权限 按返回的路径找到config文件 右键--属性--安全--高级--禁用继承--从此对象中删除所有已继承的权限--添加…...

文件系统和日志管理 附实验:远程访问第一台虚拟机日志

文件系统和日志管理 文件系统&#xff1a;文件系统提供了一个接口&#xff0c;用户用来访问硬件设备&#xff08;硬盘&#xff09;。 硬件设备上对文件的管理 文件存储在硬盘上&#xff0c;硬盘最小的存储单位是512字节&#xff0c;扇区。 文件在硬盘上的最小存储单位&…...

云上拼团GO指南——腾讯云博客部署案例,双11欢乐GO

知孤云出岫-CSDN博客 目录 腾讯云双11活动介绍 一.双十一活动入口 二.活动亮点 &#xff08;一&#xff09;双十一上云拼团Go (二&#xff09;省钱攻略 &#xff08;三&#xff09;上云&#xff0c;多类型服务器供您选择 三.会员双十一冲榜活动 (一)活动内容 &#x…...

【VScode】VScode内的ChatGPT插件——CodeMoss全解析与实用教程

在当今快速发展的编程世界中&#xff0c;开发者们面临着越来越多的挑战。如何提高编程效率&#xff0c;如何快速获取解决方案&#xff0c;成为了每位开发者心中的疑问。今天&#xff0c;我们将深入探讨一款颠覆传统编程体验的插件——CodeMoss&#xff0c;它将ChatGPT的强大功能…...

水库大坝安全监测预警方法

一、监测目标 为了确保水库大坝的结构安全性和运行稳定性&#xff0c;我们需要采取一系列措施来预防和减少因自然灾害或其他潜在因素所引发的灾害损失。这不仅有助于保障广大人民群众的生命财产安全&#xff0c;还能确保水资源的合理利用和可持续发展。通过加强大坝的监测和维护…...

深度学习:微调(Fine-tuning)详解

微调&#xff08;Fine-tuning&#xff09;详解 微调&#xff08;Fine-tuning&#xff09;是机器学习中的一个重要概念&#xff0c;特别是在深度学习和自然语言处理&#xff08;NLP&#xff09;领域。该过程涉及调整预训练模型的参数&#xff0c;以适应特定的任务或数据集。以下…...

qt QWebSocketServer详解

1、概述 QWebSocketServer 是 Qt 框架中用于处理 WebSocket 服务器端的类。它允许开发者创建 WebSocket 服务器&#xff0c;接受客户端的连接&#xff0c;并与之进行双向通信。WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议&#xff0c;它使得客户端和服务器之间的数…...

【数据结构】线性表——链表

写在前面 本篇笔记记录线性表——链表的主要形式&#xff0c;虽然链表有8种形式&#xff0c;但是只要精通笔记中编写的两种&#xff0c;即可触类旁通。 文章目录 写在前面一、链表的概念及结构二、链表的分类三、无头单向非循环链表3.1、链表的实现3.1.1、链表的结构体定义3.1…...

Fork突然报错

现象&#xff1a; Could not resolve hostname github.com: No address associated with hostname fatal: Could not read from remote repository. 原因&#xff1a;需要为fork设置代理 步骤&#xff1a; 1.通过winR输入%localappdata%\fork\gitInstance打开文件夹 2.找到…...

Vue Element-UI 选择隐藏表格中的局部字段信息

一、功能需求分析 为什么需要这个功能&#xff1f; &#xff08;1&#xff09;简化信息&#xff0c;减少混乱&#xff1a; 就像整理抽屉&#xff0c;只留下常用的东西&#xff0c;这样找起来更快&#xff0c;看起来也更整洁。在表格中&#xff0c;只展示需要的字段&#xff…...