当前位置:网站首页>【一起学Rust】Rust学习前准备——注释和格式化输出
【一起学Rust】Rust学习前准备——注释和格式化输出
2022-07-31 05:08:00 【m0_67402125】
提示:准备热身。
文章目录
前言
在正式开始学习Rust之前,我们需要对一些Rust的基础操作做点了解,因为这些东西不知道,在看后面的文章时,面对突然出现的基础语法就很蒙,我在学习Rust时看的是Rust圣经,里面虽然在讲到的时候说了格式化输出了,但是突然看到也很懵,总觉得学习不成体系,都是在只言片语中学习,因此在我们正式进入Rust的学习之前,我们先把一些基础的输出和注释说明白。
一、注释
注释对任何程序都不可缺少,同样 Rust 支持几种不同的注释方式。
1. 普通注释
普通注释就是其内容将被编译器忽略掉的注释,一般有两种用法,行注释和块注释
// 单行注释,注释内容直到行尾。
/* 块注释,注释内容一直到结束分隔符。 */
2. 文档注释
文档注释就是其内容被解析成HTML文档的注释,同样也是有两种用法,
/// 为接下来的项生成帮助文档。
//! 为注释所属于的项(译注:如 crate、模块或函数)生成帮助文档。
文档注释我们就先介绍到这里,在后面对Rust了解比较深入以后我们会详细的介绍文档注释,我们在学习过程中大都用普通注释。
二、格式化输出
打印操作由 std::fmt 里面所定义的一系列宏来处理,包括:
- format!:将格式化文本写到字符串。
- print!:与 format! 类似,但将文本输出到控制台(io::stdout)。
- println!: 与 print! 类似,但输出结果追加一个换行符。
- eprint!:与 print! 类似,但将文本输出到标准错误(io::stderr)。
- eprintln!:与 eprint! 类似,但输出结果追加一个换行符。
这些宏都以相同的做法解析文本。有个额外优点是格式化的正确性会在编译时检查。
输出字符串
就和其他编程语言一样,Rust输出字符串只需要在参数里面加上要输出的字符串即可。
println!("7 days");

输出带有占位符的字符串
通常情况下,{} 会被任意变量内容所替换。变量内容会转化成字符串。
println!("{} days", 31);

可以使用多个占位符,
占位符还可以选择变量位置数,
println!("{0}, 这是 {1}. {1}, 这是 {0}", "张三", "李四");

还可以给参数命名,下面实例中object代表宾语,subject代表主语,verb代表谓语
println!("{subject} {verb} {object}",object="你",subject="我",verb="爱");

输出带有指定格式占位符的字符串
可以在 : 后面指定特殊的格式。
println!("{} 的二进制表示是: {0:b}", 10);

指定宽度对齐
Rust的对齐输出是需要指定宽度才可以的,代码如下,
// 左对齐
println!("{number:<width$}", number=1, width=6);
// 右对齐
println!("{number:>width$}", number=1, width=6);

数字输出缺位补0
这里与上面的一对比就可以看出来了
println!("{number:>0width$}", number=1, width=6);
下面的是补0,上面是对齐
总结
以上就是本次的内容了,本文主要是讲了注释和格式化输出的一些基础内容。
注释
- 普通注释
- 文档注释
格式化输出
- 输出字符串
- 输出带有占位符的字符串
- 输出指定样式占位符的字符串
- 指定宽度对齐
- 缺位补0
注释中我们留下文档注释在后面讲,因为如果不是对基础语法很熟悉的话,写文档注释会很蒙。
格式化输出我们也是只介绍了基本的时候,后面会有不少高级用法需要了解Rust的基础概念才可以学习,我们会在文章中穿插的介绍,并且会在后面专门出一章来更加详细的介绍格式化输出的功能。
后面更加精彩的内容请期待吧。
边栏推荐
- mysql使用on duplicate key update批量更新数据
- SQL statement to range query time field
- Apache DButils使用注意事项--with modifiers “public“
- [R language] [3] apply, tapply, lapply, sapply, mapply and par function related parameters
- [py script] batch binarization processing images
- Error EPERM operation not permitted, mkdir 'Dsoftwarenodejsnode_cache_cacach Two solutions
- 剑指offer专项突击版第15天
- Sql解析转换之JSqlParse完整介绍
- MySQL database addition, deletion, modification and query (detailed explanation of basic operation commands)
- ERROR 1064 (42000) You have an error in your SQL syntax; check the manual that corresponds to your
猜你喜欢

DVWA installation tutorial (understand what you don't understand · in detail)

Simple read operation of EasyExcel

Industry-university-research application to build an open source talent ecosystem | 2022 Open Atom Global Open Source Summit Education Sub-Forum was successfully held

DVWA安装教程(懂你的不懂·详细)

Explanation of

【wpf】wpf中的那些模板之深度解析

Puzzle Game Level Design: Reverse Method--Explaining Puzzle Game Level Design

1. 获取数据-requests.get()

Unity手机游戏性能优化系列:针对CPU端的性能调优

Unity Framework Design Series: How Unity Designs Network Frameworks
随机推荐
SQL statement to range query time field
mysql存储过程
The 15th day of the special assault version of the sword offer
如何将项目部署到服务器上(全套教程)
The Vue project connects to the MySQL database through node and implements addition, deletion, modification and query operations
打造基于ILRuntime热更新的组件化开发
[Linear Neural Network] softmax regression
STM32——DMA
Open Source Database Innovation in the Digital Economy Era | 2022 Open Atom Global Open Source Summit Database Sub-Forum Successfully Held
30 Years of Open Source Community | 2022 Open Atom Global Open Source Summit 30 Years of Open Source Community Special Event Held Successfully
datagrip带参sql查询
mysql stored procedure
[Cloud Native] DevOps (5): Integrating Harbor
工作流编排引擎-Temporal
Temporal线上部署
DVWA shooting range environment construction
Minio upload file ssl certificate is not trusted
MySQL优化:从十几秒优化到三百毫秒
MySQL optimization: from ten seconds to three hundred milliseconds
110道 MySQL面试题及答案 (持续更新)
