两者有什么区别?
struct Test();
struct Test(());
我知道结构可以有元组(未命名的字段)。但是,我不确定 (())
在这种情况下是什么意思?它是一个结构,其中一个元素是一个空元组?
最佳答案
it's a struct with one element which is an empty tuple?
完全正确。
从技术上讲,它们是不同的类型,但它们携带的信息量完全相同;没有。
拥有该参数实际上没有任何目的,并且您通常不会创建像 struct Test(())
这样的类型,除非在通用上下文中。例如,
struct Test<T>(T);
由于其他一些要求,T
最终成为 ()
。
关于Rust 中带括号的结构与双括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69730119/