gpt4 book ai didi

rust - 为什么不能将结构分配给具有它实现的特征的绑定(bind)

转载 作者:行者123 更新时间:2023-11-29 08:16:22 25 4
gpt4 key购买 nike

<分区>

我正在尝试理解 Rust 多态性。根据我在 OOP 方面的背景,我希望以下 Rust 代码能够工作:

use std::io::{stdin, Read};

fn main() {
let r: Read = stdin();
println!("ok");
}

但事实并非如此:

4 |     let r: Read = stdin();
| ^^^^^^^ expected trait std::io::Read, found struct `std::io::Stdin`

我知道有一个 Read impl for StdIn,那么我怎样才能使它(或任何正确的方法)工作,即。使用 StdinFile,如果可能的话甚至使用 String(无法找到它的实现)用于 阅读是预期的吗?

我不认为我可以在这里使用泛型,因为我需要将 r 的实例传递给稍后的另一个方法,它可以是实现 Read 的任何东西,但如果我错了请告诉我。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com