gpt4 book ai didi

julia - Julia 使用参数化类型创建空对象的方法是什么?

转载 作者:行者123 更新时间:2023-12-05 04:30:34 29 4
gpt4 key购买 nike

假设,我们有如下数据结构

struct MyStruct{T}
t :: Union{Nothing, T}
end

并且我们希望允许用户在不添加任何数据的情况下初始化结构,例如 MyStruct{T}()

到目前为止,我已经尝试过了

MyStruct() where {T} = MyStruct{T}(nothing)

我尝试用它实例化

x = MyStruct{Int}()

这告诉我

ERROR: MethodError: no method matching MyStruct{Int64}()
Closest candidates are:
MyStruct{T}(::Any) where T at REPL[1]:2
Stacktrace:
[1] top-level scope
@ REPL[4]:1

执行此操作的惯用方法是什么?

最佳答案

这是你想要的吗?

julia> MyStruct{T}() where T = MyStruct{T}(nothing)

julia> MyStruct{Int}()
MyStruct{Int64}(nothing)

关于julia - Julia 使用参数化类型创建空对象的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72041982/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com