rust 注释
行注释
行注释以两个正斜杠//
开头,并且只影响到这两个斜杠之后的内容直到行尾。
块注释
块注释以/*
开头,并以*/
结尾。它们可以跨越多行,并且在注释块中的所有内容都会被编译器忽略。
块注释可以被嵌套,允许在一个块注释中包含另一个块注释。
文档注释
文档注释会被用来生成文档。文档注释使用三个正斜杠///
来注释单行,或使用//!
来为包含它们的项(如模块或函数)写注释。对于多行文档注释,你可以使用类似于块注释的语法,但作为开始和结束符号的是/**
和*/
。
标记为文档注释的注释通常位于项定义之前,可以使用markdown格式编写,并且可以被Rust的文档生成工具rustdoc使用。
pub mod outer_module {
//! - 模块级文档注释,置于模块头部
//!! - 模块级文档注释,但是和上面注释置于同一行
//! - 模块级文档注释,但会换行
/*! - 模块块级文档注释 */
/*!! - 模块级注释,但是和上面注释置于同一行 */
/*! - 模块块级注释,但会换行 */
// - 普通行注释
/// - 行级文档注释 ( 必须是 3 个斜杠)
//// - 普通行注释
/* - 普通块级注释 */
/** - 块级文档注释 (精确) 2 个星号 */
/*** - 普通注释 */
pub mod inner_module {}
/// mod 定义个模块
pub mod nested_comments {
/* Rust 中的注释内/* 可以 /* 嵌入注释 */ */ */
// 所有三种块注释都可以相互包含或嵌套
/* /* */ /** */ /*! */ */
/*! /* */ /** */ /*! */ */
/** /* */ /** */ /*! */ */
pub mod dummy_item {}
}
pub mod degenerate_cases {
// 空的模块级文档注释
//!
// 空的模块块级文档注释
/*!*/
// 空的行注释
//
// empty outer line doc
/// 空的行级文档注释
// 空的块注释
/**/
pub mod dummy_item {}
// 注意,此处不是空的块级文档注释,而只是一个普通的块级注释
/***/
}
/*
下面这种文档注释是不允许的,因为文档注释下面必须要有语言项,比如方法、函数等
/// Where is my item?
*/
}