comments.md
commit 024aa9a345e92aa1926517c4d9b16bd83e74c10d
現(xiàn)在我們寫了一些函數(shù),是時候?qū)W習(xí)一下注釋了。注釋是你幫助其他程序員理解你的代碼的備注。編譯器基本上會忽略它們。
Rust有兩種需要你了解的注釋格式:行注釋(line comments)和文檔注釋(doc comments)。
// Line comments are anything after ‘//’ and extend to the end of the line.
let x = 5; // this is also a line comment.
// If you have a long explanation for something, you can put line comments next
// to each other. Put a space between the // and your comment so that it’s
// more readable.
另一種注釋是文檔注釋。文檔注釋使用///
而不是//
,并且內(nèi)建Markdown標(biāo)記支持:
/// Adds one to the number given.
///
/// # Examples
///
/// ```
/// let five = 5;
///
/// assert_eq!(6, add_one(5));
/// # fn add_one(x: i32) -> i32 {
/// # x + 1
/// # }
/// ```
fn add_one(x: i32) -> i32 {
x + 1
}
有另外一種風(fēng)格的文檔注釋,//!
,用來注釋包含它的項(也就是說,crate,模塊或者函數(shù)),而不是位于它之后的項。它經(jīng)常用在crate根文件(lib.rs)或者模塊根文件(mod.rs):
//! # The Rust Standard Library
//!
//! The Rust Standard Library provides the essential runtime
//! functionality for building portable Rust software.
當(dāng)書寫文檔注釋時,加上參數(shù)和返回值部分并提供一些用例將是非常,非常有幫助的。你會注意到我們在這里用了一個新的宏:assert_eq!
。它比較兩個值,并當(dāng)它們不相等時panic!
。這在文檔中是非常有幫助的。還有一個宏,assert!
,它在傳遞給它的值是false
的時候panic!
。
你可以使用[rustdoc](4.4.Documentation 文檔.md)工具來將文檔注釋生成為HTML文檔,也可以將代碼示例作為測試運行!