注释
注释是一种为代码添加注释或文档的方法。它们会被编译器忽略,不会生成 Move 字节码。你可以使用注释来解释代码的功能,向自己或其他开发者添加备注,暂时移除部分代码或生成文档。Move 中有三种类型的注释:行注释、块注释和文档注释。
行注释
module book::comments_line {
fun some_function() {
// this is a comment line
}
}
你可以使用双斜杠 //
来注释掉余下的行。编译器会忽略 //
之后的所有内容。
module book::comments_line_2 {
// let's add a note to everything!
fun some_function_with_numbers() {
let a = 10;
// let b = 10 this line is commented and won't be executed
let b = 5; // here comment is placed after code
a + b; // result is 15, not 10!
}
}
块注释
块注释用于注释掉一段代码。它们以 /*
开始,以 */
结束。编译器会忽略 /*
和 */
之间的所有内容。你可以使用块注释来注释掉单行或多行代码,甚至可以注释掉一行中的一部分。
module book::comments_block {
fun /* you can comment everywhere */ go_wild() {
/* here
there
everywhere */ let a = 10;
let b = /* even here */ 10; /* and again */
a + b;
}
/* you can use it to remove certain expressions or definitions
fun empty_commented_out() {
}
*/
}
这个例子有点极端,但它展示了如何使用块注释来注释掉一行中的一部分。
文档注释
文档注释是一种特殊的注释,用于为代码生成文档。它们类似于块注释,但以三个斜杠 ///
开始,并放在它们所记录的项目定义之前。
/// Module has documentation!
module book::comments_doc {
/// This is a 0x0 address constant!
const AN_ADDRESS: address = @0x0;
/// This is a struct!
public struct AStruct {
/// This is a field of a struct!
a_field: u8,
}
/// This function does something!
/// And it's documented!
fun do_something() {}
}