回顾:创建一个书籍结构体
本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 26 课,共 66 课。
挑战
简单你会收到 4 个输入:书名、作者姓名、出版年份(整数)和页数(整数)。定义一个 Book struct,包含 4 个字段:title 的类型为 String,author 的类型为 String,year 的类型为 i32,pages 的类型为 i32。使用输入值创建这个 struct 的实例,并打印书籍信息。
要求:
- 定义一个
Bookstruct,包含以下字段:title: String、author: String、year: i32和pages: i32 - 将第一个输入读取为书名
- 将第二个输入读取为作者姓名
- 读取第三个输入,并将其转换为
i32,作为出版年份 - 读取第四个输入,并将其转换为
i32,作为页数 - 使用这些值创建一个
Bookstruct 实例 - 严格按照下方所示的格式打印书籍信息
输入:
- 第一行:书名(例如,
The Rust Programming Language) - 第二行:作者姓名(例如,
Steve Klabnik) - 第三行:出版年份,整数(例如,
2018) - 第四行:页数,整数(例如,
552)
输出:
- 第一行:
Book: [title] - 第二行:
Author: [author] - 第三行:
Year: [year] - 第四行:
Pages: [pages]
亲手试试
use std::io;
// TODO:在这里定义 Book 结构体,包含 title、author、year 和 pages 字段
fn main() {
// 读取书名
let mut title = String::new();
io::stdin().read_line(&mut title).expect("Failed to read line");
let title = title.trim().to_string();
// 读取作者姓名
let mut author = String::new();
io::stdin().read_line(&mut author).expect("Failed to read line");
let author = author.trim().to_string();
// 读取出版年份
let mut year_input = String::new();
io::stdin().read_line(&mut year_input).expect("Failed to read line");
let year: i32 = year_input.trim().parse().expect("Failed to parse year");
// 读取页数
let mut pages_input = String::new();
io::stdin().read_line(&mut pages_input).expect("Failed to read line");
let pages: i32 = pages_input.trim().parse().expect("Failed to parse pages");
// TODO:使用输入值创建 Book 结构体的实例
// TODO:按要求的格式输出图书信息
}逻辑与流程中的所有课
自己练习: Rust 在线编译器