我发现了一种我不懂的语言 struct :
pub struct OpenOptions(fs_imp::OpenOptions);
我甚至用这些括号创建了一段可编译的代码,但我仍然无法理解:
struct Foo {
bar: i32,
}
struct Baz(Foo);
fn main() {
let mut x: Baz = Baz(Foo{ bar: 3 });
}
这些圆括号是干什么用的?
我发现了一种我不懂的语言 struct :
pub struct OpenOptions(fs_imp::OpenOptions);
我甚至用这些括号创建了一段可编译的代码,但我仍然无法理解:
struct Foo {
bar: i32,
}
struct Baz(Foo);
fn main() {
let mut x: Baz = Baz(Foo{ bar: 3 });
}
这些圆括号是干什么用的?
正如 comments 中指出的,这是Tuple Structs条.当您想要区分一个元组和其他元组时,它们很有用,但命名每个元组的字段将是多余的或不必要的冗长.换句话说,你可以通过命名来阐明元组的用途.
元组 struct 可用于创建简单的值对象.
struct Color(i32, i32, i32);
let black = Color(0, 0, 0);