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

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

相关推荐
小灰灰搞电子4 小时前
Rust+Slint 实现动态加载效果源码分享
rust·slint·等待控件
Thneonl7 小时前
让恢复动作敢按下去:dry-run、审批门、自动回滚与 mutable twin
rust·kubernetes
程序员爱钓鱼9 小时前
Rust where详解:让泛型与Trait约束更加清晰
前端·后端·rust
Flynt1 天前
就编译了一下代码,浏览器密码没了——Rust 生态遭遇史上最狠供应链攻击
安全·rust·开源
NutShell Wang1 天前
Rust 1.97 实战迁移:v0 符号重整、Cargo 警告治理与位运算新 API
人工智能·后端·性能优化·rust·vibe coding
进哥AI研习社1 天前
AtomCode 源码编译与二次开发入门:从 Clone 仓库到自定义 Agent 工具的完整指南
rust·二次开发·源码编译·atomcode·agent 工具·tool 扩展·ai 编码智能体
程序员爱钓鱼1 天前
Rust 泛型 Generics详解:编写可复用且类型安全的代码
后端·面试·rust
SomeB1oody2 天前
【RustyML入门】6.0. 数学工具
开发语言·后端·机器学习·rust·教程
今天AI了吗2 天前
从聊天到委派:AI Agent 如何推进长期任务
数据库·人工智能·python·sql·rust