Ai摘要
加载中...|
注释
Rust的注释类似Java、C等语言,支持多行注释、单行注释:
rust
// 注释方式1
/* 注释方式2 */
/* 注释方式3
* 多行注释
* 多行1
* 多行2
*/
除了上面这种,Java、C语言中有的注释,Rust还专门针对文档注释,设计了一种注释方式:
rust
/// 方法 add 会将两个输入的 i32 值相加并返回
///
/// # 示例
///
/// ```
/// let x = add(1, 2);
/// ```
fn add(a: i32, b: i32) -> i32 {
return a + b;
}
fn main() {
println!("result = {}",add(100, 200)); // 输出:result = 300
}
通过这种方式添加的注释,会在IDE等工具中,显示在函数的上面,方便查看。也可以通过 cargo doc 功能将文档生成为 Html 文档。
函数
之前的例子已经已经多次使用函数了,这里对 Rust 中函数的使用进行一些总结。
定义函数的关键词是fn
,后面跟函数名,参数列表和返回值类型,函数体用{}
包裹。Rust 中函数名称的命名风格,是小写字母以下划线分割:
rust
fn 函数名(参数1: 参数类型1, 参数2: 参数类型2, ...) -> 返回值类型 {
// 函数体
}
fn function_name() {
// 函数体
}
最常见的 Rust 入口函数 main
函数,就是一个最简单的函数,从 main
函数可以看出,如果没有返回值,可以省略-> ()
的部分。
rust
fn main() {
println!("hello world");
}
fn print0() {
println!("hello");
}
fn print1() -> () {
println!("hello");
}
函数体中可以使用return
关键词返回值,也可以使用表达式返回值,注意:表达式返回值后边不能加;
。如果没有定义返回值,函数体中不能使用return
返回值或表达式返回值,可以仅仅使用return关键词来结束函数。
rust
fn add(a: i32, b: i32) -> i32 {
a + b // 如果后边加分号,会报错
}
fn multi(a: i32, b: i32) -> i32 {
return a * b // return 返回值,可以加分号,也可以不加
}
fn print() {
println!("hello");
return; // 可以使用 return 关键词结束函数,后边的代码不会再运行
println!("world");
}
在 Rust 中,可以使用 {}
包裹代码块,形成一个独立的作用域,在代码块中定义的变量,只能在代码块中使用,超出代码块,就失效了。代码块可以有返回值,但是只能使用表达式返回值,不能使用return返回值。
rust
fn main() {
let x = 100;
{
let y = 200;
println!("{}", x + y); // 输出:300
}
// 可以使用 let 关键词定义新的变量,来接收代码块的返回值
let z = {
let x = 3;
x + 100 // 函数体表达式,不能使用 return。
};
// 这里使用 x 变量,不会报错,而且不会被代码块里面的变量覆盖
println!("{}", x); // 输出:100
// 这里使用 y 变量,会报错
// println!("{}", y);
println!("{}", z); // 输出:103
}
Rust 中函数可以嵌套,即函数中仍然可以定义函数:
rust
fn add(a: i32, b: i32) -> i32 {
fn inner(c: i32, d: i32) -> i32 {
c + d
}
inner(a, b)
}
fn multi(a: i32, b: i32) -> i32 {
fn inner(c: i32, d: i32) -> i32 {
c * d
}
inner(a, b)
}
fn main(){
println!("{}", add(100, 200)); // 输出:300
println!("{}", multi(100, 200)); // 输出:20000
}
Rust 学习笔记 03 - 注释与函数https://blog.sixlab.cn/posts/2025/0701/rust-03-fn
赞赏博主
评论 隐私政策