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 中带括号的结构与双括号的主要内容,如果未能解决你的问题,请参考以下文章

json中带有中括号怎么取值?

PowerShell 中带括号的环境变量名称,如 %ProgramFiles(x86)%?

方括号中带有(属性)的方法参数

Swift中带括号的闭包的输入参数

gsutil:无法触摸名称中带有括号的文件

名称属性中带有方括号的输入的 jQuery 选择器