我想要一些类似
的东西type Foo
a::Int
b::Int = 5
end
其中Foo()
给出一个类型为Foo
的实例,其中Foo.a
未赋值,Foo.b = 5
未赋值。
但是默认的隐式构造函数只有在我的字段都没有被分配时才有效,因此,因为我希望Foo.b = 5
被预分配(如果可能的话,既静态又最终),我必须定义我自己的内部构造函数,谁能告诉我如何做到这一点?我还没弄明白。
好的,所以我想我弄明白了,我必须从我想要预定义的字段开始,但等待在内部构造函数中使用new()
定义它们,对于我想保持未定义的字段,我不能给它们一个预定义的类型,下面是代码:
type Foo
b::Int
a
Foo() = new(5)
end
现在Foo()
得到Foo(5, #undef)