rust学习笔记(1)
参考 rust圣经
参考 通过例子学习rust
cargo
是rust的包管理器+编译工具
创建新项目
使用下述指令创建一个新的项目
cargo new rust_learn
执行
使用 cargo run 运行项目
使用 cargo build 构建项目
- 默认的都是debug模式, 使用
--release参数确保构建是尽可能地优化速度
代码检查
通过使用 cargo check 来帮助检查代码的准确性.
first example
println!("{}", region);
首先, rust需要 ; 作为结束的标志.
代码片段中的 {} 是占位符, 可以自动推断打印什么内容.
代码中的 println! 是一个宏
输出
format!:将格式化文本写到字符串。
print!:与 format! 类似,但将文本输出到控制台(io::stdout)。
println!: 与 print! 类似,但输出结果追加一个换行符。
eprint!:与 print! 类似,但将文本输出到标准错误(io::stderr)。
eprintln!:与 eprint! 类似,但输出结果追加一个换行符。
debug
使用 #[derive(Debug)] 确保可以被debug打印
使用 println!("{:#?}", peter); 美化打印内容
Display
正常的打印输出需要手动实现接口函数
// 使用 `v` 对 `vec` 进行迭代,并用 `count` 记录迭代次数。
for (count, v) in vec.iter().enumerate() {
// 对每个元素(第一个元素除外)加上逗号。
// 使用 `?` 或 `try!` 来返回错误。
if count != 0 { write!(f, ", ")?; }
write!(f, "{}", v)?;
}
rust学习笔记(1)的更多相关文章
- Rust学习笔记1
这是一份不错的rust教程,目前包括4个block和4个project.全部完成后可以用rust实现一个简单的key-value存储引擎. 注意:Windows下rust貌似会遇到一些bug,强烈建议 ...
- Rust学习笔记一 数据类型
写在前面 我也不是什么特别厉害的大牛,学历也很低,只是对一些新语言比较感兴趣,接触过的语言不算多也不算少,大部分也都浅尝辄止,所以理解上可能会有一些偏差. 自学了Java.Kotlin.Python. ...
- Rust学习笔记2
继续继续... 转眼都开学啦... Building Blocks 2 building blocks里讲了一些关于Log structure storage的东西,这也是用于在硬盘上持久化KvSto ...
- Rust学习之旅(读书笔记):枚举 (Enum)
Rust学习之旅(读书笔记):枚举 (Enum) C 语言的枚举类型很弱,不如后来的语言,也不如之前的语言.在 C 语言里面枚举量就是一个名字,更方便的定义常量.今天读了<The Rust Pr ...
- 《Rust权威指南》学习笔记——4. 认识所有权
Rust权威指南学习笔记--认识所有权 什么是所有权 1. 所有权规则 Rust中的每一个值都有一个对应的变量作为它的所有者. 在同一时间内,值有且仅有一个所有者. 当所有者离开自己的作用域时,它持有 ...
- Rust 学习之旅(7):Package,Crate,Module
Rust 学习之旅(7):Package,Crate,Module 这是第 7 章的读书笔记,Cargo Workspace 在第 14 章. Packages and Crates As a pro ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
随机推荐
- Netty内存池泄漏问题
为了提升消息接收和发送性能,Netty针对ByteBuf的申请和释放采用池化技术,通过PooledByteBufAllocator可以创建基于内存池分配的ByteBuf对象,这样就避免了每次消息读写都 ...
- Qt编写安防视频监控系统60-子模块4云台控制
一.前言 云台控制是一个很老很基础的模块了,视频监控系统中必备的特殊模块之一,可以对选中的通道的摄像机(ONVIF协议),进行云台控制,可以控制球机的上下左右等各个方位的移动,还可以调节变倍步长,至于 ...
- 部署kubernetes-dashboard改成http免密登录
原始链接地址 https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 修改S ...
- [转]快速搭建简单的LBS程序——地图服务
很多时候,我们的程序需要提供需要搭建基于位置的服务(LBS),本文这里简单的介绍一下其涉及的一些基本知识. 墨卡托投影 地图本身是一个三维图像,但在电脑上展示时,往往需要将其转换为二维的平面图形,需要 ...
- [LC814]二叉树剪枝
题目 题目地址 分析 这道题符合递归的性质,对于当前的节点node,当且仅当其左右孩子都为不包含1的子树,且node.val=1时,node所在的子树才符合"不包含1的子树"这一定 ...
- Note -「M. Analysis 24 Aut. Prev.」“有歌的地方,自有向往”
\[\textit{Litar!} \newcommand{\opn}[1]{\operatorname{#1}} \newcommand{\card}[0]{\opn{card}} \newcomm ...
- cpa-会计
会计整体介绍 1.总结 2.会计政策.会计估计及其变更和差错更正 3.存货 4.固定资产 5.无形资产 6.投资性房地产 7.长期股权投资与合营安排 8.资产减值 9.负债 10.职工薪酬 11.借款 ...
- Java开发常用工具链接-copy
Java开发常用工具链接这里汇总了下Java开发过程中常用的一些工具,与一些自动化生成工具. 1. Spring相关工具通过Sql生成Spring相关的项目. Sql生成SpringBoot项目通过M ...
- biancheng-算法教程
目录http://c.biancheng.net/algorithm/ 1算法是什么2时间复杂度和空间复杂度3递归算法4斐波那契数列5分治算法6找数组的最大值和最小值7汉诺塔问题8贪心算法9部分背包问 ...
- Practical Secure Aggregation for Privacy-Preserving Machine Learning
1 介绍 本文是谷歌团队发在CCS2017上的文章,旨在解决联邦学习中安全聚合的问题. 安全聚合:多方参与者将信息传递给聚合者,聚合者除了知道这个信息的总和不能知道任何一个特定参与者的信息. 在这篇文 ...