rust中所有的函数以fn关键字进行结尾,其中入口文件main.rs中的fn main(){}
是主函数,也即不须要main()
就主动默认运行的函数。
1、rust中的函数就像是应用var进行定义的函数一样,能够在应用之前就进行定义或者在之后进行定义,例如:
fn main() { println!("Hello, world!"); another_function();}fn another_function() { println!("Another function.");}//运行后果:$ cargo runHello, 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}