rust中所有的函数以fn关键字进行开头,其中入口文件main.rs中的fn main(){}
是主函数,也即不需要main()
就自动默认运行的函数。
1、rust中的函数就像是使用var进行定义的函数一样,可以在使用之前就进行定义或者在之后进行定义,例如:
fn main() {
println!("Hello, world!");
another_function();
}
fn another_function() {
println!("Another function.");
}
//运行结果:
$ cargo run
Hello, world!
Another function.
2、函数传参(可以定义数据类型等):
fn main() {
another_function(5, 6);
}
fn another_function(x: i32, y: i32) {
println!("传入的x为: {}", x);
println!("传入的y为: {}", y);
}
//运行结果:
$ cargo run
传入的x为: 5
传入的y为: 6
3、特别,在rust中,定义的语句不会返回值,这点跟js是一样的,例如:
fn main() {
let x = (let y = 6);
}
运行结果:`note: variable declaration using `let` is a statement`
在rust中大括号{}
代表一个作用域类似于js中的闭包,例如:
fn main() {
let x = 5;
let y = {
let x = 3;
x + 1
};
println!("y的值为: {}", y); //运行结果:y的值为: 4
}
4、函数返回值的表达:
rust的函数返回有两种模式,一种类似于js中的return @要返回的变量
,还有一种是写在作用域最后一行不要带分号;
,例如:
fn five() -> i32 {
5
}
fn six() -> i32 {
return 6;
}
fn add_num(origin: i32) -> i32 {
origin + 100
}
fn main() {
let x = five();
let y = six();
let z = add_num(10);
println!("x的值为: {}", x); //x的值为:5
println!("y的值为: {}", y); //y的值为:6
println!("z的值为: {}", z); //z的值为:110
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。