Julia 使用默认值创建复合类型
如何定义复合类型Julia 使用默认值创建复合类型,julia,Julia,如何定义复合类型 mutable struct Foo bar::Int64 end 这样当我创建它的一个实例时,bar会得到一个默认值,比如说42 我知道我可以用 Foo(42) 但我想做点像 Foo() 您可以使用默认值定义构造函数: julia> struct Foo; bar::Int64; end julia> Foo() = Foo(42) Foo julia> Foo() Foo(42) 有关如何实现各种构造函数的信息,您可以查看文档:您可以这
mutable struct Foo
bar::Int64
end
这样当我创建它的一个实例时,bar
会得到一个默认值,比如说42
我知道我可以用
Foo(42)
但我想做点像
Foo()
您可以使用默认值定义构造函数:
julia> struct Foo; bar::Int64; end
julia> Foo() = Foo(42)
Foo
julia> Foo()
Foo(42)
有关如何实现各种构造函数的信息,您可以查看文档:您可以这样使用: 如果您需要更多功能,那么您可以查看一个名为
Base.@kwdef mutable struct Foo
bar::Int64 = 42
end
julia> foo = Foo()
Foo(42)
julia> foo.bar
42
julia> foo = Foo(bar = 423)
Foo(423)
julia> foo.bar
423