Rust 中带括号的结构与双括号

Vic*_*nin 3 struct rust

有什么区别?

struct Test();

struct Test(());
Run Code Online (Sandbox Code Playgroud)

我知道结构可以有元组(未命名字段)。但是,我不确定(())在这种情况下意味着什么?它是一个只有一个元素且是空元组的结构?

Pet*_*all 7

它是一个只有一个元素的结构体,该元素是一个空元组?

完全正确。

从技术上讲,它们是不同的类型,但它们携带的信息量完全相同;没有任何。

使用该参数确实没有任何目的,并且您通常不会struct Test(())在通用上下文中创建类似 except 的类型。例如,

struct Test<T>(T);
Run Code Online (Sandbox Code Playgroud)

最终T()由于其他一些要求。