假设我有一个简单的可变结构,其字段可以是Float或Nothing
mutable struct Foo
bar::Union{Nothing, Float64}
end
foo = Foo(0.42)
foo.bar = Nothing
如果我尝试为Nothing分配任何内容,则会出现此错误:
MethodError: Cannot `convert` an object of type Type{Nothing} to an object of type Float64
我应该对结构进行不同的定义吗? 还是有其他解决方法?
提前谢谢
答案 0 :(得分:3)
使用{
availHeight: 860,
availLeft: 0,
availTop: 0,
availWidth: 1600,
colorDepth: 24,
height: 900,
orientation: {
angle: 0,
onchange: null,
type: "landscape-primary"
},
pixelDepth: 24,
width: 1600
}
。 foo.bar = nothing
是Nothing
的类型。