带括号的结构与 Rust 中的双括号
struct with parentheses vs double parentheses in Rust
有什么区别?
struct Test();
struct Test(());
我知道结构可以有元组(未命名字段)。但是,我不确定 (())
在这种情况下是什么意思?它是一个结构,其中一个元素是一个空元组?
it's a struct with one element which is an empty tuple?
完全正确。
从技术上讲,它们是不同的类型,但它们携带的信息量完全相同; none.
拥有该参数确实没有任何意义,除非在通用上下文中,否则您通常不会创建像 struct Test(())
这样的类型。例如,
struct Test<T>(T);
由于其他一些要求,T
最终成为 ()
。
有什么区别?
struct Test();
struct Test(());
我知道结构可以有元组(未命名字段)。但是,我不确定 (())
在这种情况下是什么意思?它是一个结构,其中一个元素是一个空元组?
it's a struct with one element which is an empty tuple?
完全正确。
从技术上讲,它们是不同的类型,但它们携带的信息量完全相同; none.
拥有该参数确实没有任何意义,除非在通用上下文中,否则您通常不会创建像 struct Test(())
这样的类型。例如,
struct Test<T>(T);
由于其他一些要求,T
最终成为 ()
。