Rust学习笔记(一)——输出到命令行

这篇博客介绍了Rust语言中向命令行输出的基本方法,包括println!()和print!()宏的使用,以及如何进行格式化输出。重点讲述了占位符"{}"的用法,多个占位符的匹配,以及参数数组的概念,展示了如何通过指定占位符的索引来重复引用参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rust学习笔记(一)——输出到命令行

Hello World

按照学习计算机语言的惯例,第一步是实现输出Hello World。 代码如下:

fn main() {
    println!("Hello World");
}

在工程文件夹下,依次运行如下命令:

cargo build
cargo run

就可以看到输出的结果:

Hello World

Rust 输出文字的方式主要有两种:println!()print!()。这两个宏(如果是调用函数,则不加”!“,即println,这个有啥区别还没学到:D,学到了再做笔记)都是向命令行输出字符串的方法,区别仅在于前者会在输出的最后附加输出一个换行符。

格式化输出

占位符"{}"

当用这两个宏输出信息的时候,第一个参数是格式字符串,后面是一串参数,对应着格式字符串中的"占位符",各个可变参数之间要用逗号",“隔开。这一点与 C 语言中的 printf 函数很相似。但是,Rust 中格式字符串中的占位符不是”% + 字母"的形式,而是一对 {}。
例如:

fn main() {
	let a=27;
	println!("Age is {}.",a);
}

这段代码运行的结果为:

Age is 27.

多个占位符

当需要多个占位符时,每个个占位符必须要有相应的参数。
例如:

fn main() {
	let a=27;
	let m=64;
	println!("Age is {},weight is {}.",a,m);
}

这段代码运行的结果为:

Age is 27,weight is 64.

下面一段代码是错误的,存在无参数可引用的占位符,将无法通过编译。

fn main() {
	println!("{},{},{}",27,64);
}

参数数组

(这个概念是我自己命名的,官方说法是啥没注意了。)当多个占位符引用相同的参数时,可以不需要重复写入参数名,Rust提供了一个非常好的解决方案。
下面一段代码:

fn main() {
    println!("一{0}两{0}三四{0},五六七八九十{0}。
千{0}万{0}无数{0},飞入梅花都不见。","片");
}

运行结果为:
在这里插入图片描述
参数只有一个”片“,但是重复引用了多次。参数是被以类似数组的方式引用的。

Index012
Value参数1参数2参数3

所以,只要标明每次调用的参数对应的Index就可以重复的引用参数了。如果不写参数Index,那么,Rust默认从参数1开始,依次递增引用。
下边的这段代码就很好的说明了这种情况:

fn main() {
    println!("{1},{},{2},{},{}",1,2,3);
}

运行结果为:

2,1,3,2,3

参数数组如下:

Index012
Value123

第一个占位符"{1}"表示引用Index为”1“的参数,其值为”2“,第二个占位符没有标明Index,从Index为”0“的第一个参数开始引用,故其值为”1“,第三个占位符引用Index为”2“的参数,其值为”3“,第四个占位符未标明Index,从上一个默认引用的参数递增一个引用,也就是Index未”1“的参数,即为第二个参数,其值为”2“,同理,第五个占位符引用的是Index为”3“的参数,其值为”3“。

### 导出 Obsidian 文件的方法 在 Obsidian 中,有多种插件和工具可以帮助用户将笔记导出为不同的格式。以下是关于如何通过不同方式实现 Markdown 文件导出的具体说明。 #### 使用 `obsidian-enhancing-export` 插件 此插件基于 Pandoc 开发,允许用户将 Obsidian 笔记导出为多种格式,包括但不限于 Markdown、HTML 和 docx 等[^1]。要使用该插件完成 Markdown 的导出操作,可以按照以下方法配置并运: - 安装插件后,在设置界面中指定目标路径以及所需的导出选项。 - 选择需要导出的文件或者整个仓库(vault),然后执行导出命令即可生成标准化的 Markdown 文件。 #### 利用 `obsidian-export` 工具 作为款由 Rust 编写的库及其对应的命令行接口程序,`obsidian-export` 提供了种高效的方式把 Obsidian 的内容转换成普通的 Markdown 文档][^[^23]。对于那些倾向于脚本化流程或是批量处理任务的用户来说尤为适用。其主要特点如下所示: - 支持从本地存储读取数据,并将其转化为遵循 CommonMark 标准的纯文本形式; - 可自定义排除某些特定目录或调整元信息字段的表现形式; 如果想采用这种方法来获取 Markdown 版本的内容,则需先克隆该项目至个人环境之中再依据官方文档指示调用相应函数: ```bash cargo install obsidian_export obsidian_export --help ``` 以上两条指令分别完成了软件包安装过程以及展示了基本参数列表以便进步查阅学习之用。 #### 借助 `obsidian-webpage-export` 尽管这个项目的重点在于创建网页版展示效果而非单纯保存为 .md 扩展名结尾的数据集[^4],但它同样能够很好地服务于此类目的——即当使用者期望保留超链接结构的同时还能获得独立可移植性的成果物时。具体做法涉及启动应用之后挑选合适的模板样式再加上必要的 CSS 自定义规则从而达到理想中的视觉呈现风格。 综上所述,无论是偏好图形交互界面还是倾向自动化脚本解决方案的人群都能找到适合自己的途径去达成预期目标—即将珍贵的知识资产妥善记录下来并通过适当手段分享出去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值