考虑以下代码。
struct MyType
data::Dict{Int, Float64}
end
MyType() = MyType(Dict{Int, Float64}())
必须重复数据
的类型有点笨拙,如果您有更多变量和/或类型变得更复杂,问题很快就会失控。我可以避免这种情况吗?
最佳答案
如果相关类型是默认可构造的(即,它有一个无参数构造函数),则可以使用以下技巧。
struct Default; end
Base.convert(::Type{T}, ::Default) where T = T()
struct MyType
data::Dict{Int, Float64}
end
MyType() = MyType(Default())
关于julia - 轻松初始化空容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75380934/