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());
}

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

相关推荐
时空系10 小时前
认识Rust——我的第一个程序 Rust中文编程
开发语言·后端·rust
时空系11 小时前
第10篇:归属权与借用——Rust的安全保障 Rust中文编程
开发语言·安全·rust
时空系11 小时前
第6篇:数据容器——管理大量数据 Rust中文编程
开发语言·后端·rust
时空系11 小时前
第7篇:功能——打造你的工具箱 Rust中文编程
开发语言·网络·rust
qcx2314 小时前
拆解 Warp AI Agent(五):跨生态联邦——10 种 Skill + MCP + 多 Harness 互操作设计
人工智能·rust·ai agent·skill·warp·mcp·harness
时空系15 小时前
第8篇:结构模板——自定义数据类型 Rust中文编程
开发语言·网络·rust
冬奇Lab1 天前
一天一个开源项目(第89篇):Warp - AI 驱动的现代化 Rust 终端
人工智能·rust·开源
时空系1 天前
第2篇:数据与数据类型——存储信息的小盒子 Rust中文编程
开发语言·后端·rust
时空系1 天前
第4篇:如果...那么——让程序做选择 Rust中文编程
开发语言·网络·rust