struct Func();
trait Mul<T> {
fn mul(x: T) -> i32;
}
impl Mul<i32> for Func {
fn mul(x: i32) -> i32 {
x * x
}
}
impl Mul<(i32, i32)> for Func {
fn mul(x: (i32, i32)) -> i32 {
x.0 * x.1
}
}
fn main() {
println!("{}", Func::mul(3));
println!("{}", Func::mul((3, 4)));
}
rust使用trait和泛型实现类似重载的效果
最新推荐文章于 2024-10-24 10:17:01 发布