format! 宏
本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 70 课,共 75 课。
在 Rust 中,format! 宏可以让你以清晰且灵活的方式将文本与变量组合起来。这个宏类似于 println!,但它不会将输出打印到控制台,而是返回一个格式化后的字符串,你可以将它存储在变量中,或用于其他操作。
最简单的语法使用未命名占位符 {}:
let name = "Alice";
let age = 30;
let formatted = format!("Name: {}, Age: {}", name, age);
println!("{}", formatted);
// 输出:Name: Alice, Age: 30你可以直接在占位符中使用变量名:
let name = "Bob";
let age = 25;
let formatted = format!("Name: {name}, Age: {age}");
println!("{}", formatted);
// 输出:Name: Bob, Age: 25你可以使用数字指定参数的位置:
let formatted = format!("{1} {0} {2}", "first", "second", "third");
println!("{}", formatted);
// 输出:second first third你可以使用格式说明符来控制值的格式:
// 数字格式化
let pi = 3.1415926;
let formatted_float = format!("{:.2}", pi);
// "3.14"
// 用零填充
let padded = format!("{:0>5}", "123");
// "00123"挑战
简单按照以下规则,编写一个程序,根据姓名和出生年份生成密码:
- 取姓名的首字母并将其转换为大写
- 将年份的数字倒序排列
- 用 "⭐" 符号包住首字母
- 在包住的首字母和倒序后的年份之间添加 "-"
要反转字符串,请使用以下代码:.to_string().chars().rev().collect::<String>()
亲手试试
use std::io;
fn main() {
let mut input_name = String::new();
let mut input_year = String::new();
io::stdin().read_line(&mut input_name).unwrap();
io::stdin().read_line(&mut input_year).unwrap();
let name = input_name.trim();
let year: i32 = input_year.trim().parse().unwrap();
// 在下面编写你的代码
let secret_code =
println!("{}", secret_code);
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Rust 在线编译器