函式超載
Rust 不支援超載:
- 每個函式都有單一實作項目:
- 一律採用固定數量的參數。
- 一律採用單組參數型別。
- 不支援預設值:
- 所有呼叫的引數數目都相同。
- 有時系統會改用巨集。
不過,函式參數可能為泛型:
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>
可以為引數型別提供一種受限的多態性。我們會在後續章節中進一步說明。