我能看到的最大区别是对不同宏的支持。在 Base.@kwdef 的情况下,虽然可以通过Julia访问,但它是一个未公开导出的内部宏,意味着它作为公共API的一部分没有得到充分支持。你可以在这里阅读更多信息:https://github.com/JuliaLang/julia/issues/33192 仅凭这个事实,使用 Parameters.jl 可能比从 base 使用更好的做法,因为它在宏被公开支持之前会更加稳定。至于底层技术上的差异,似乎在使用这两个宏的方式上没有任何显著差异。