Julia 结构字段的默认初始化状态?
在Julia v0.6中,简单代码:Julia 结构字段的默认初始化状态?,julia,language-lawyer,Julia,Language Lawyer,在Julia v0.6中,简单代码: julia> struct A x::Int = 1 end 生成此错误: ERROR: syntax: "x::Int=1" inside type definition is reserved 这是一个相当难以捉摸的信息:保留什么 ->我是否必须明白,这种定义在将来的修订中是允许的 这可通过以下途径获得 谢谢但是,在后台,宏仍然将其转换为常用的构造函数A(A,b,c)=new(6,-1.1,c)。我
julia> struct A
x::Int = 1
end
生成此错误:
ERROR: syntax: "x::Int=1" inside type definition is reserved
这是一个相当难以捉摸的信息:保留什么
->我是否必须明白,这种定义在将来的修订中是允许的 这可通过以下途径获得
谢谢但是,在后台,宏仍然将其转换为常用的构造函数
A(A,b,c)=new(6,-1.1,c)
。我正在考虑一个由Julia支持的构造,希望它能为进一步优化生成的代码打开大门。这仅仅是因为现在任何想要它的人都可以使用Parameters.jl,所以这不是阻止Julia 1.0的主要原因。它不会打开更多的优化。Julia 1.0的关键字参数和文字内联+过程间优化将彻底优化这一点。
julia> using Parameters
julia> @with_kw struct A
a::Int = 6
b::Float64 = -1.1
c::UInt8
end
julia> A(c=4)
A
a: 6
b: -1.1
c: 4