如何在Julia中检查结构/可变结构的属性

如何在Julia中检查结构/可变结构的属性,julia,Julia,我有一个定义如下的结构: julia> struct test test1::Int64 test2::Float64 end 我希望能够看到结构中属性的名称以及类型。最直接的方法是什么?我知道我能做到: julia> t = test(1,1.0) test(1, 1.0) julia> fieldnames(typeof(t)) (:test1, :test2) 但我希望同时查看属性名称和类型。最直接的方法是使

我有一个定义如下的结构:

julia> struct test
           test1::Int64
           test2::Float64
       end
我希望能够看到结构中属性的名称以及类型。最直接的方法是什么?我知道我能做到:

julia> t = test(1,1.0)
test(1, 1.0)

julia> fieldnames(typeof(t))
(:test1, :test2)

但我希望同时查看属性名称和类型。

最直接的方法是使用
dump
方法:

帮助?>转储 搜索:转储

转储(x;最大深度=8)

显示值表示的每个部分。深度 输出在maxdepth处被截断

因此,在这种情况下,它将显示:

julia> dump(t)
test
  test1: Int64 1
  test2: Float64 1.0
有关更多详细信息,请参见此处:

使用
字段类型(typeof(t))

关于另一个答案,请注意,
dump
总是输出整个数据结构,这对于具有复杂类型的字段是不好的。尝试在具有
Dict
字段的结构上执行
dump
,以了解我的观点(或在控制台中尝试)
dump(Dict())

julia> DataFrame(name=[fieldnames(typeof(t))...], type=[fieldtypes(typeof(t))...])
2×2 DataFrame
│ Row │ name   │ type     │
│     │ Symbol │ DataType │
├─────┼────────┼──────────┤
│ 1   │ test1  │ Int64    │
│ 2   │ test2  │ Float64  │