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

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

相关推荐
Rust研习社9 小时前
组合真的优于继承吗?为什么 Rust 和 Go 都拥抱组合舍弃继承?
后端·rust·编程语言
红尘散仙1 天前
想写一个像样的终端 App?试试把 React 的开发体验搬进 Rust TUI
前端·rust
vivo互联网技术1 天前
从 Web 到桌面:基于 Tauri 2.0 + Vue 3 打造 vivo 线下门店「大头贴」拍照体验系统
前端·rust
Rust研习社2 天前
这 8 个 Rust 学习资源值得每个新手收藏起来
后端·rust·编程语言
星栈3 天前
10 分钟跑起第一个 Dioxus 应用:`dx` CLI、`rsx!` 和热更新好不好用
前端·rust·前端框架
望眼欲穿的程序猿3 天前
读取芯片内部温度传感器
嵌入式硬件·rust
望眼欲穿的程序猿3 天前
ADC 模拟电压采集
嵌入式硬件·rust
codexu_4612291873 天前
NoteGen 里一条记录如何变成 Markdown
前端·笔记·rust·tauri
Rust研习社3 天前
Rust 错误处理的黄金搭档:一个定义错误,一个传播错误
后端·rust·编程语言
techdashen3 天前
绕过系统 ICMP:用 rawsock、Npcap 和 WMI 找到默认网卡
开发语言·arm开发·rust