1、注释
注释对任何程序都不可缺少, Rust 支持以下几种不同的注释方式:
1.1普通注释,其内容将被编译器忽略掉:
// 单行注释,注释内容直到行尾。
/*被注释的内容*/ 块注释,注释内容一直到结束分隔符。
1.2文档注释,其内容将被解析成 HTML 帮助文档,支持 Markdown,分为内部文档注释和外部文档注释,这两种文档注释中也有单行注释和块注释:
内部文档注释是针对它之后的项做注释,与使用 #[doc="..."] 等价。
/// 内部文档注释(单行注释)。
/** ... */ 内部文档注释(块注释)
外部文档注释是针对它所在的项做注释,与使用 #![doc="..."] 等价。
//! 外部文档注释(单行注释)。
/*! ... */ 外部文档注释(块注释)
以下是普通注释样例:
fn main() {
// 这是行注释的例子
// 注意有两个斜线在本行的开头
// 在这里面的所有内容都不会被编译器读取
/*
* 这是另外一种注释——块注释。一般而言,行注释是推荐的注释格式,
* 不过块注释在临时注释大块代码特别有用。/* 块注释可以 /* 嵌套, */ */
* 所以只需很少按键就可注释掉这些 main() 函数中的行。/*/*/* 自己试试!*/*/*/
*/
/*
注意,上面的例子中纵向都有 `*`,这只是一种风格,实际上这并不是必须的。
*/
let x = 5 + /* 90 + */ 5;
println!("Is `x` 10 or 100? x = {}", x);
}
以下是文档注释样例:
//! 外部文档注释--描述所属的项,一般用来编写Crate文档注释。
/// 内部文档注释,针对outer_mod的单行注释
/** 内部文档注释,针对outer_mo的块注释*/
pub mod outer_mod {
//! 外部文档注释,针对outer_mod的单行注释
/*! 外部文档注释,针对outer_mod的块注释*/
/// 内部文档注释,针对inner_mod的单行注释
/** 内部文档注释,针对inner_mod的块注释*/
pub mod inner_mod {}
/// 这里给出一个“人”的表示
pub struct Person {
/// 一个人必须有名字(不管 Juliet 多讨厌她自己的名字)。
name: String,
}
impl Person {
/// 返回具有指定名字的一个人
///
/// # 参数
///
/// * `name` - 字符串切片,代表人的名字
///
/// # 示例
///
/// ```
/// // 在文档注释中,你可以书写代码块
/// // 如果向 `rustdoc` 传递 --test 参数,它还会帮你测试注释文档中的代码!
/// use doc::Person;
/// let person = Person::new("name");
/// ```
pub fn new(name: &str) -> Person {
Person {
name: name.to_string(),
}
}
/// 给一个友好的问候!
/// 对被叫到的 `Person` 说 "Hello, [name]" 。
pub fn hello(& self) {
println!("Hello, {}!", self.name);
}
}
}