定义函数 | 1.定义函数使用fn关键字。 2.函数可以有参数 也可以没有 3.函数可以有返回值 也可以不返回值 fn function_name(parameters) -> return_type { //函数体 //最后一个表达式通常是返回值(如果没有分号) } |
不带参数的函数 | fn main() { say_hello() } fn say_hello() { println!("hello,world"); } |
带参数的函数 | fn main() { let name = "Alice"; greet(name); } fn greet(name: &str) { println!("Hello, {}!", name); } |
返回值的函数 | fn main() { let result = add(5, 3); println!("The result is {}", result); } fn add(x: i32, y: i32) -> i32 { x + y // 这里没有分号,所以这是返回值 } |
函数中的表达式 | 1.表达式是什么 1.表达式是计算某个值的代码片段 2.表达式不以分号(;)结束 3.如 x+1 就是表达式 2.举例: fn calculate(x: i32, y: i32) -> i32 { let z = x * y; z + 10 // 这里是返回值 } |
控制流 | 1.函数中可以使用 if loop for while等循环 fn main() { let number = 6; if number % 4 == 0 { println!("number is divisible by 4"); } else if number % 3 == 0 { println!("number is divisible by 3"); } else if number % 2 == 0 { println!("number is divisible by 2"); } else { println!("number is not divisible by 4, 3, or 2"); } } |
函数中使用闭包 | fn main() { let plus_one = |x: i32| -> i32 { x + 1 }; let result = plus_one(5); println!("The result is {}", result); } |