# 函数怎么定义?
# rust有什么命名规则?
属性 | 描述 |
---|---|
函数名字 | 下划线命名法 |
变量名字 | 下划线命名法 |
snake case ,直译为蛇形命名法。
在下划线命名法中,所有字⺟都是⼩写并使⽤下划线分隔单词。
# rust语句与表达式
fn main() {
let y = {
// 语句
let x = 3;
// 表达式
x + 1
};
// 4
println!("The value of y is: {}", y);
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
语句
- 语句不能返回。
fn main() {
// 错误的写法
let x = (let y = 6);
}
1
2
3
4
2
3
4
表达式
- 表达式的结尾是没有分号“;”。
# 函数
fn main() {
println!("Hello, world!");
// 调用函数
another_function();
}
fn another_function() {
// 函数的逻辑
println!("Another function.");
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
执行结果:
TIP
注意,源码中 another_function 定义在 main 函数 之后;也可以定义在之前。 Rust 不关⼼函数 定义于何处,只要定义了就⾏。
# 有参函数
传一个参数
fn main() {
// 函数传 形参
another_function(5);
}
// 实参接收
fn another_function(x: i32) {
// 打印参数变量 x
println!("The value of x is: {}", x);
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
执行结果:
传多个参数
fn main() {
print_labeled_measurement(5, 'h');
}
// int 类型 , 字符类型
fn print_labeled_measurement(value: i32, unit_label: char) {
println!("The measurement is: {}{}", value, unit_label);
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 带有返回值的函数
fn main() {
let x = plus_one(5);
println!("The value of x is: {}", x);
}
// 函数写有返回值
fn plus_one(x: i32) -> i32 {
x + 1
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
执行结果:
注意出错!!
如果上面的 x + 1表达式结尾添加分号。运行的结果是什么?
← rust怎么定义基本数据类型? 控制流 →