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

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

相关推荐
UestcXiye6 小时前
Rust 学习笔记:泛型
rust
进击的愤怒6 小时前
GIM发布新版本了 (附rust CLI制作brew bottle流程)
开发语言·后端·rust
x-cmd6 小时前
x-cmd install | cargo-selector:优雅管理 Rust 项目二进制与示例,开发体验升级
开发语言·后端·rust·cargo·示例
Source.Liu8 小时前
【PhysUnits】4.4 零类型(Z0)及其算术运算(zero.rs)
rust
Dingyin HU8 小时前
使用RUST在Arduino上进行编程(MacOS,mega板)
macos·rust·arduino
无名之逆17 小时前
Build High-Performance Web Services with Hyperlane
服务器·开发语言·前端·http·rust
UestcXiye18 小时前
Rust 学习笔记:关于生命周期的练习题
rust
UestcXiye20 小时前
Rust 学习笔记:生命周期
rust
塵觴葉1 天前
规则联动引擎GoRules初探
rust·联动规则·gorules