gpt4 book ai didi

dynamic - 有没有办法捕获未知的结构字段?

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

struct Test;

// here must be code to overload the standard field resolution methods

fn main() {
let t = Test;
println!("I wanna catch request for unknown struct field {}", t.unexpected_field)
}

最佳答案

没有。 Rust 是一种静态编译语言;一切都必须在编译时解决。字段要么存在,要么不存在。

即使该字段确实有条件存在,您也不知道它是什么类型,因此您也不知道它存在哪些方法。编译器不知道该字段的大小,因此无法为该结构分配空间。

您更有可能想使用Option :

struct Test {
unexpected_field: Option<i32>,
}

或者您可以切换到 HashMap .


从编辑角度来说,这是使用静态编译语言的一个巨大理由,而且这是一件伟大的事情。

关于dynamic - 有没有办法捕获未知的结构字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46667593/

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