Rust 中带括号的结构与双括号
Posted
技术标签:
【中文标题】Rust 中带括号的结构与双括号【英文标题】:struct with parentheses vs double parentheses in Rust 【发布时间】:2021-12-12 05:46:55 【问题描述】:两者有什么区别?
struct Test();
struct Test(());
我知道结构可以有元组(未命名的字段)。但是,我不确定(())
在这种情况下是什么意思?它是一个结构,其中一个元素是一个空元组?
【问题讨论】:
【参考方案1】:它是一个结构体,其中一个元素是一个空元组?
完全正确。
从技术上讲,它们是不同的类型,但它们携带的信息量完全相同;没有。
拥有该参数实际上没有任何意义,并且您通常不会创建像 struct Test(())
这样的类型,除非在通用上下文中。例如,
struct Test<T>(T);
由于其他一些要求,T
最终变为 ()
。
【讨论】:
以上是关于Rust 中带括号的结构与双括号的主要内容,如果未能解决你的问题,请参考以下文章