Rust 学习笔记:关于泛型的练习题

Rust 学习笔记:关于泛型的练习题

Rust 学习笔记:关于泛型的练习题

参考视频:

  1. https://www.bilibili.com/video/BV1JJCVYSEg6

问题 1

答:3。

下面代码能否通过编译?若能,输出是?

rust 复制代码
fn print_slice<T>(v: &[T]) {
    for x in v {
        println!("{}", x);
    }
}

fn main() {
    print_slice(&[1, 2, 3, 4]);
}

答:不能通过编译。T 必须约束为实现了 Display trait 才能 print。

下面代码能否通过编译?若能,输出是?

rust 复制代码
struct Point<T> {
    x: T,
    y: T,
}

impl Point<i32> {
    fn f(&self) -> &i32 {
        &self.y
    }
}

impl<T> Point<T> {
    fn f(&self) -> &T {
        &self.x
    }
}

fn main() {
    let p: Point<i32> = Point { x: 5, y: 10 };
    println!("{}", p.f());
}

答:不能通过编译。因为泛型不可以和具体类型使用同名函数。

相关推荐
UestcXiye12 小时前
Rust 学习笔记:Stream
rust
受之以蒙13 小时前
Rust+Wasm利器:用wasm-pack引爆前端性能!
前端·rust·webassembly
UestcXiye14 小时前
Rust 学习笔记:关于处理任意数量的 future 的练习题
rust
无名之逆2 天前
大三自学笔记:探索Hyperlane框架的心路历程
java·开发语言·前端·spring boot·后端·rust·编程
susnm2 天前
RSX 构建界面
rust·全栈
维维酱2 天前
Rust - async/await
rust
asyncrustacean2 天前
有栈协程基本原理和实现
后端·rust·go
UestcXiye2 天前
Rust 学习笔记:处理任意数量的 future
rust
bruce541102 天前
Rust入门之并发编程基础(二)
后端·rust