函数重载
不支持重载:
- 每一个函数都只有一种实现:
- 始终接受固定个数的形参。
- 始终接受一组形参类型。
- 不支持提供默认值:
- 实参的数量在所有调用的地方都是一样的。
- 有时可以用宏(Macro)作为替代。
然而,函数形参可以是泛型(generics):
fn pick_one<T>(a: T, b: T) -> T { if std::process::id() % 2 == 0 { a } else { b } } fn main() { println!("coin toss: {}", pick_one("heads", "tails")); println!("cash prize: {}", pick_one(500, 1000)); }
- 标准库中的
Into<T>
通过泛型参数提供了一种具有有限多态性的参数类型。详见之后的章节。