最新要闻
- 资讯:建设银行e路通不用了直接扔了吗_建设银行e路通
- 恐怕人类永远也搞不定真正的AI!
- 环球时讯:黄仁勋带着NVIDIA新品发布会来了!RTX 4070梦碎
- 大量年轻人成为“果粉” :苹果连三星大本营都快攻陷了
- 精选!AGM G2 Guardian发布:全球首款500米范围热成像手机
- 全球时讯:不怕停电了?董明珠:格力开始研究将储能技术应用冰箱上
- 外敷仙人掌的禁忌和副作用_外敷仙人掌的禁忌
- 环球热文:官宣定档3月6日 领创科技旗舰荣耀Magic5系列即将国内亮相
- 需要去看医生的呼噜声什么样?这三种情况要特别注意:有危险
- 蔚来:阿尔卑斯全系车型采用800V方案 还将共享使用三代换电站
- 【全球新视野】男子反复发烧20多天被诊出黑热病:发病率仅0.0108/10万
- 环球快报:一加Buds Pro 2轻享版上架:48dB深度降噪
- 报告称每天工作超8小时心脏病风险增8成:很多公司拒绝996、启用四天工作制
- 比亚迪专业个性化品牌曝光:首车性能对标奔驰大G 年内发布
- 苹果将成本转嫁给果粉!2024年iPad Pro要大涨价
- LOL帧率近乎翻倍!Intel Arc A750新驱动测试:大幅提升、最大短板没有了
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球播报:Rust 知识积累(1)
Rust 依赖包安装
安装Rust依赖包
在系统中设置path
【资料图】
使用命令判断是否安装成功
rustc --versioncargo --version
创建项目
cargo new 项目名称
编译
cargo build
运行
cargo run
Rust 环境搭建(vs code)
安装vs code
下载 Rust插件(插件工具栏搜索Rust插件)
搜索rust-analyzer 插件
创建Rust工作空间
创建cargo new 项目名称后,在项目名称文件夹下运行cmd 输入code . 打开vs code可直接使用
fn main() { println!("Hello, world!");}
配置环境变量
{ "rust.mode": "rls", "rust.cargoHomePath": "%CARGO_HOME%", "rust.cargoPath":"%RUSTBINPATH%\\cargo.exe", "rust.racerPath":"%RUSTBINPATH%\\racer.exe", "rust.rls":"%RUSTBINPATH%\\rls.exe", "rust.rustfmtPath":"%RUSTBINPATH%\\rustfmt.exe", "rust.rustup":"%RUSTBINPATH%\\rustup.exe", "rust.rustLangSrcPath": "%RUST_SRC_PATH%", "rust.executeCargoCommandInTerminal": true, "workbench.statusBar.feedback.visible": false, "rust.actionOnSave": "build", "debug.allowBreakpointsEverywhere": true, "rust-client.disableRustup": true,}
设置编译环境
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "rust", "type": "cppvsdbg", "request": "launch", //"program": "enter program name, for example ${workspaceFolder}/a.exe", "program": "./target/debug/Output.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, } ]}
运行结果如下
Hello, world!
注释方式
- 单行注释 ( \\ )
- 范围注释 (\* 开始 结束*\ )
基础类型
基本类型 整型(有符号和无符号)和char(字符型)
有符号 i8 i16 i32 i128 和 isize 例如 let _number: i8 = 100;
无符号 u8 u16 u32 u128 和 usize 例如 let _number: u8 = 100;
char ansi码和unicode码来识别的
整型和char互转
let _number = 100;println!("{}", _number as u8 as char)输出为 d
可通过std标准库来获得类型最大值和最小是
println!(" i8 between {} and {}", std::i8::MIN, std::i8::MAX);println!(" u8 between {} and {}", std::u8::MIN, std::u8::MAX);println!(" i128 between {} and {}", std::i128::MIN, std::i128::MAX);println!(" u128 between {} and {}", std::u128::MIN, std::u128::MAX);
char长度问题 len和count
// len()为字节的大小 chars().count() 为汉字或英文的长度let slice = "中国人";println!("Slice is {} bytes and Word is {}", slice.len(), slice.chars().count());
返回结果:Slice is 12 bytes and Word is 3
指定一个类型
let _number = 10; // 编译器可能会认为是i16let _number: u8 = 10; // 告知编译器该变量为u8let _number = 10u8; // 与上一条等价let _number = 10_u8; // 与上一条等价let _number = 1____0___u8 //同上 _只是方便阅读
浮点数
let my_float:f32 = 8.5 // 设置为32位浮点数
let my_float = 8.0; // 编译器认为类型是f64let second_float:f32 = 83.0; // f32无法与f64直接相加,类型不一致let third_float = my_float + second_float as f64
字符串 String和&str
相同点
都是UTF8
不同点
&str 比 String快, String是指针,数据在堆上
&str 知道大小(str动态,因此加了&),String不知道
创建方式不同
let name= "name"; 为&str let string_name = String::form("this is name"); 为Stringlet other_name = "this is name".to_string() 将&str转换为Stringlet together = format!("together {} and {}", "a", "b"); together为String
into()用法
必须声明来判断into创建的类型 let my_string: String = "this is world".into(); 创建为String
类型可变 let mut -------不能改变类型
如果直接输入let number = 10 类似于 const int number = 10,无法再次复制,因此需要加上mut
遮蔽
如果不存在{}时,相同的变量名以最新声明的为准
函数
带返回参数的函数
fn nunber()-> i32{ 8 //没有冒号}fn main(){ println!("number is {}", number());}
带参函数
fn sumNumber(number_one: i32, number_tow: i32){ let result = number_one + number_tow; println!("{} add {} is {}", number_one, number_tow, result);}fn main(){ sumNumber(8, 9); let num_one = 1; let num_tow = 4; sunNumber(num_one, num_tow);}
带参返回函数
fn sumNumber(number_one: i32, number_tow: i32)-> i32{ let result = number_one + number_tow; retuls // 注意,没有分号}fn main(){ let result_number = sunNumber(10, 9);}
打印信息
println!("{}", 1); // 普通打印
println!("{:?}", 1): // Debug方式打印 打印字节数
println!("{:#?}", 1); // 漂亮打印
println!("{:p}", &number); //打印指针
let number = 9;let number_ref = &number;println!("{:p}", number_ref);
println!("{:X}", "H" as u32) 转为Unicode数字再打印
二进制、八进制和十六进制 注意16进制和Unicode的区别(x和X)
let number = 555; println!("Binary: {:b}, octal: {:o}, hexadecimal: {:x}", number, number, number);
循环打印
{variable:padding alignment minimum.maximum}variable:变量名,如果不用变量则可使用:padding:填充字符alignment:对齐方式 < 左 ^中 >右minimum:最小长度maximum:最大长度 println!("{:-^11}", "A");输出结果:-----A----- let title = "TODAY"S NEWS"; println!("{:-^30}", title); // no variable name, pad with -, put in centre, 30 characters long let bar = "|"; println!("{: <15}{: >15}", bar, bar); // no variable name, pad with space, 15 characters each, one to the left, one to the right let a = "SEOUL"; let b = "TOKYO"; println!("{city1:-<15}{city2:->15}", city1 = a, city2 = b); // variable names city1 and city2, pad with -, one to the left, one to the right结果:---------TODAY"S NEWS---------| |SEOUL--------------------TOKYO
\ 为转义
忽略转义
println(r#"\r\n "find file c:\files\file.txt"");
打印:#
println!(r##"write one#"##) result: write one#
println!(r###"write one#, and another one #"###) result:write one#, and another one #
栈、堆和指针
速度:栈>堆
栈
指定大小的可以放在栈中,不定的可以通过指针找到堆中的数值
堆
存放数据,栈可通过指针地址查找数据
指针 使用&
多层指针嵌套 let my_number = 15; // This is an i32 let single_reference = &my_number; // This is a &i32 let double_reference = &single_reference; // This is a &&i32 let five_references = &&&&&my_number; // This is a &&&&&i32
checked_add
u16::checked_add(251, 8).unwrap();
/*checked_add的方式有两种第一种为u16::checked_add(数值,数值),相加第二种类型直接调用checked_add()checked_*:返回的类型是Option<_>,当出现溢出的时候,返回值是None;saturating_*:返回类型是整数,如果溢出,则给出该类型可表示范围的“最大/最小”值;wrapping_*:直接抛弃已经溢出的最高位,将剩下的部分返回*/let i = 100_i8;println!("checked {:?}", i.checked_add(i));println!("saturating {:?}", i.saturating_add(i));println!("wrapping {:?}", i.wrapping_add(i));/*unwrap()方法源代码如下pub fn unwrap(self) -> T { match self { Ok(t) => t, Err(e) => unwrap_failed("called `Result::unwrap()` on an `Err` value", e), }}相关类型:unwrap_or 、 unwrap_or_else 或 unwrap_or_default 。不建议使用,因为会出现Panics(程序终止)*/ let x:Option<&str> = None;assert_eq!(x.unwrap(), "air"); // fails
获取数组
举例说明
use std::ops::{Range, RangeInclusive};Range{ start: 1, end: 5 }) // 不包含5RangeInclusive::new(1, 5)// 包含5
数据位置说明
size_of_val("中"), "中".len(), "中".chars().count()3, 3, 1
字符说明
""类型是&str""char
中文说明
let _v: () = (); // 定义函数assert!(size_of_val(&unit) == 0);let c2 = "中";assert_eq!(size_of_val(&c2),4);
-
全球头条:Codeforces Round #854 by cybercats (Div. 1+2) 1799 A~G 题解
点我看题A RecentActions注意到只有编号大于n的博客会被更新,所以每当有一个之前没被更新的过的博客被...
来源: 全球播报:Rust 知识积累(1)
世界百事通!让WPF中的DataGrid像Excel一样可以筛选
全球头条:Codeforces Round #854 by cybercats (Div. 1+2) 1799 A~G 题解
全球报道:2363. 合并相似的物品
【天天速看料】c语言运算符优先级实例解析
资讯:建设银行e路通不用了直接扔了吗_建设银行e路通
恐怕人类永远也搞不定真正的AI!
环球时讯:黄仁勋带着NVIDIA新品发布会来了!RTX 4070梦碎
大量年轻人成为“果粉” :苹果连三星大本营都快攻陷了
精选!AGM G2 Guardian发布:全球首款500米范围热成像手机
全球时讯:不怕停电了?董明珠:格力开始研究将储能技术应用冰箱上
新消息丨.NET MAUI
外敷仙人掌的禁忌和副作用_外敷仙人掌的禁忌
环球热文:官宣定档3月6日 领创科技旗舰荣耀Magic5系列即将国内亮相
需要去看医生的呼噜声什么样?这三种情况要特别注意:有危险
蔚来:阿尔卑斯全系车型采用800V方案 还将共享使用三代换电站
【全球新视野】男子反复发烧20多天被诊出黑热病:发病率仅0.0108/10万
环球快报:一加Buds Pro 2轻享版上架:48dB深度降噪
今热点:11 款顶级 MySQL 图形化工具汇总,总有一款适合你!(建议收藏)
【速看料】Python实战项目3-前后端连接/首页轮播图表设计
热头条丨剑指 Offer 55 - II. 平衡二叉树(java解题)
焦点速讯:安装node并创建vue项目
报告称每天工作超8小时心脏病风险增8成:很多公司拒绝996、启用四天工作制
比亚迪专业个性化品牌曝光:首车性能对标奔驰大G 年内发布
苹果将成本转嫁给果粉!2024年iPad Pro要大涨价
LOL帧率近乎翻倍!Intel Arc A750新驱动测试:大幅提升、最大短板没有了
丰田有队友了!宝马氢燃料SUV将路试:16磅氢能跑500公里
世界速读:CSS中的BFC、IFC、GFC、FFC
环球即时:Synchronized,我要一层一层剥开你的心
全球视点!轻松玩转makefile|基础知识
环球聚焦:曝吴秀波儿子家暴成性,女方晒照满嘴是血,指证男方出轨乱约
周杰伦演唱会数百万人疯抢!演唱会门票30秒卖光
环球新资讯:长安发律师函控诉银河之光抄袭 吉利回应:毫无根据、误导公众
环球微速讯:【同步、共享和内容协作软件】上海道宁与ownCloud让您的团队随时随地在任何设备上轻松处理数据
全白外观拥有硬核实力!影驰Z790金属大师D5 Wi-Fi白金版主板评测:内存轻松提速10%
环球快讯:越来越多PC用户不愿买显卡了:2022年Q4桌面独显销量暴跌43%
世界第一次!中国空间站看到了在轨航天员的“三维皮肤”
【时快讯】89元 小米无线键鼠套装2上架:鼠标轻至45g
环球精选!运酒撞破酒缸1分钟损失5万!男子:一坛酒1000斤 1斤50块钱
天天快看点丨易基因|独家分享:高通量测序后的下游实验验证方法——DNA甲基化篇
IPO参考:联域光电拟深市主板IPO 郝氏控股二次递表港交所
【全球快播报】感冒的食疗偏方秘方_感冒的食疗偏方
8尺夫人面对面!《生化危机8 VR》IGN 8分 MTC用户9.7分
环球热点评!40多万的车没有语音控制功能!宝马遭X3车主集体投诉
今日聚焦!一加Ace 2V搭载旗舰级2.8D微弧玻璃:手感温润如玉
世界讯息:续航1整年!小米智能门锁M20大屏猫眼版开售:首发1899元
世界要闻:《艾尔登法环》原子之心机械姐妹花Mod 性感吸睛
自得其乐是什么意思?自得其乐的名人例子有哪些?
12%是零点几?12%公积金是什么档次?
给据邮件是什么意思?给据邮件如何填写?
男主角性格冰冷的小说有哪些?男主角性格冰冷的小说推荐
兔子能喝牛奶吗?兔子吃的食物有哪些?
小米手机屏幕校准在哪里?小米手机屏幕有多大?
集成显卡可以玩英雄联盟吗?集成显卡和独立显卡有什么区别?
华为mate9哪一年生产的?华为mate9参数配置
可视化图表之奥妙——百分比堆积条形图
看热讯:基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.2版已发布
常用的xpath
环球观察:mybatis plus映射postgreSQL数组
世界资讯:redis实现用户查询次数限制
军用三防手机有哪些?军用三防手机推荐
苏泊尔电磁炉滴滴响不加热是什么原因?苏泊尔电磁炉滴滴响不加热怎么解决?
最新资讯:完美全面屏!努比亚Z50 Ultra官宣3月7日发布
新消息丨控告抄袭!长安给吉利发去律师函
【环球新要闻】BBA压力来了!李想:今年理想将挑战30-50万豪华SUV市场20%份额
环球快消息!SRC挖掘之Access验证校验的漏洞挖掘
【世界热闻】tomcat源码分析(一)如何启动服务
协同办公领域未来三大趋势(协同办公带来的机遇)
彻底理解 HashMap 及 LinkedHashMap,面试官请随便问!
当前焦点!轻量级CI/CD发布部署环境搭建及使用_02_docker安装jenkins
世界微速讯:理想汽车2022年亏损额创新高达20.32亿元
天天热议:腾势D9首创双枪充电 赵长江:比高压充电更节省社会成本
当前视讯!DXO排名全球第一!京东方认领荣耀Magic5/Pro屏幕
【全球播资讯】史诗级更新!雷军:小米12S Ultra 2倍变焦快捷按键正式上线
环球时讯:巧妙利用“慧言”机器人在安全场景中实践
每日消息!iOS封闭垄断 俄罗斯怒罚苹果9.06亿卢布:后者服软已悄悄支付
李想:比亚迪汽车毛利率20%左右 跟理想汽车很接近 良心
世界最新:梅西第七次当选世界足球先生 FIFA年度最佳球员!网友泪目:实至名归
全球消息!游戏第一神U上新!AMD锐龙9 7950X3D超频后更强:性能完秒13900KS
天天热点!40吨重 我国长征九号重型火箭未来将发射大型天文望远镜:探测地外生命
湖人官方:詹姆斯明日因右脚伤势缺战灰熊
全球热消息:世界第二大水电站16台机组全部通过验收:自主研制 登顶世界水电
全球观速讯丨增程是落后技术?李想:理想汽车单车型研发投入中国行业最高
环球今热点:10多天还没到 市民吐槽快递延误 客服:你投诉去吧
读Java性能权威指南(第2版)笔记04_ Java SE API技巧下
天天速递!承诺员工1人1套房!董明珠被传与王自如恋爱 格力愤怒已报案
事与愿违下一句啥意思_事与愿违下一句是什么
天天观热点:一元二次方程
全球报道:k8s中的PV和PVC
观察:Canvas画布
印尼16月大男婴重达27公斤:比8岁男童还重
焦点日报:最后一天赶紧换!苹果iPhone等设备全系电池明天涨价:最贵519元
关注:茶颜悦色回应满杯奶茶放久了变半杯:奶沫放久了会自己消掉
每日看点!小米Wi-Fi 7路由器BE7000亮相:4个2.5G口 定价千元买吗?
当前视点!3名《炉石传说》电竞运动员注册成功:然而暴雪禁止中国玩家参加炉石赛事
环球聚焦:东川区开展校园周边环境专项集中整治行动
资讯推荐:冒险岛辅助2023_冒险岛多趣辅助
记录写了6年代码的心得
今亮点!Django uwsgi问题解析
全球新消息丨不坑盒子:word/wps最强辅助工具2023最新版