Appearance
函数与控制流
函数
rust
fn main() {
let res = add(1,2);
print!("{}", res);
}
fn add(a: i32,b: i32)->i32{
a+b // 注意这里没有分号结尾,在函数体中,这意味着这一行表达式是这个函数的返回值
// 可以在语句中提前返回,这时需要用return关键字,并且要携带末尾的分号
// return a+b;
}rust允许用花括号包裹复杂表达式
rust
fn main() {
let a = 5;
let b = {
let c = 3;
c * 2
};
println!("{}", b); // 6
println!("{}", a+b); // 11
}如果没有明确声明函数返回值的类型,函数将被认为是"纯过程",不允许产生返回值
impl
rust
struct Point{
x: u32,
y: u32,
}
impl Point{
// 构造函数
fn new(x: u32, y: u32) -> Self {
Self { x, y }
}
fn get_x(&self) -> u32 {
self.x
}
fn set_x(&mut self, x: u32) {
self.x = x;
}
}
fn main() {
let mut p = Point::new(10, 20);
println!("Point: ({}, {})", p.x, p.y);
p.set_x(100);
println!("Point: ({}, {})", p.get_x(), p.y);
}