3

notice

Rust 还没到1.0,开发很快,请看官方文档

Functions 函数

函数可以在顶层的作用域声明,也可以在函数,模块内声明。
fn 关键字定义函数,后边是函数名,参数列表,参数的名字和类型以冒号分割,箭头-> 后指定返回值类型
例如:

fn line(a: int, b: int, x: int) -> int {
    return a * x + b;
}

函数可以使用return立即返回值, return 后边是表达式的话,return是可选的。比如可以这样写:

fn line(a: int, b: int, x: int) -> int {
    a * x + b
}

这种方式是更好的Rust style。

函数可以没有返回值,()也是无返回值的一种。返回值类型和返回值都没有定义,下面的两个例子是等价的:

fn do_nothing_the_hard_way() -> () { return (); }

fn do_nothing_the_easy_way() { }

函数最后表达式有分号相当于返回(),例如:

fn line(a: int, b: int, x: int) -> int { a * x + b  }
fn oops(a: int, b: int, x: int) -> ()  { a * x + b; }

assert!(8 == line(5, 3, 1));
assert!(() == oops(5, 3, 1));

函数参数支持解构,例如:

fn first((value, _): (int, f64)) -> int { value }

lidashuang
6.7k 声望165 粉丝

$ Ruby/Elixir/Golang


« 上一篇
Rust 数据结构
下一篇 »
LRU 算法