Struct 在不初始化所有字段的情况下声明复合类型的实例

Struct 在不初始化所有字段的情况下声明复合类型的实例,struct,types,julia,Struct,Types,Julia,因此,我尝试创建一个结构实例: struct keypoint x y scale angle Vector{Any}(VecLength) end 现在我知道了除最后一个字段外所有字段的值。我需要用已知的值初始化结构实例,但对于最后一个字段,我必须调用另一个函数,在该函数中生成数据,然后将其存储在实例的最后一个字段中。有没有办法让朱莉娅做到这一点 我指的是教程,但我猜在这两个地方,实例的所有字段都已一次性初始化 谢谢 mutable struct ke

因此,我尝试创建一个结构实例:

struct keypoint
    x
    y
    scale
    angle
    Vector{Any}(VecLength)
end
现在我知道了除最后一个字段外所有字段的值。我需要用已知的值初始化结构实例,但对于最后一个字段,我必须调用另一个函数,在该函数中生成数据,然后将其存储在实例的最后一个字段中。有没有办法让朱莉娅做到这一点

我指的是教程,但我猜在这两个地方,实例的所有字段都已一次性初始化

谢谢

mutable struct keypoint
    x
    y
    scale
    angle
    keypoint(x,y,scale) = new(x,y,scale)
end
a = keypoint(1,1.0,2.0) # keypoint(1, 1.0, 2.0, #undef)
请注意,如果您随后尝试访问
a.angle
,您将获得

ERROR: UndefRefError: access to undefined reference
Stacktrace:
 [1] getproperty(::Any, ::Symbol) at .\sysimg.jl:18

因此,如果不使用它,您将在其中获得一个
unde
,它在访问时会出错。但是你可以稍后再设置。

非常感谢克里斯!