julia - 轻松初始化空容器

标签 julia

考虑以下代码。

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/

相关文章:

julia - 我可以在 Julia 中找到字符串中的特定字符吗?

julia - 如何在 Julia 中通过引用和值传递对象?

julia - 在循环中输出包含数字的变量

julia - Julia 编程语言中基于条件的列选择

julia - 使用 Julia 在网页上执行计算

debugging - eltype 样式功能的 Julia 方法错误

dataframe - 检查 DataFrame 名称是否包含另一个数组中的名称

julia - 在 Julia 中删除结构

julia - 如何遍历 Julia 中的子文件夹文件夹?

function - Julia 在循环打印消息之前等待函数完成